您的位置:首页 > 其它

strip 使用命令

2015-06-17 20:24 260 查看

使用

通过消除使用调试器的粘合剂和符号信息,减少扩展公共对象文件格式(XCOFF)对象文件大小。

语法

strip
[ -V

] [ -r

[ -l

] | -x

[ -l

] | -t

| -H

| -e

| -E

] [ -X
{32
|64
|32_64
}]
[ --

] File
...

描写叙述

strip
命令降低 XCOFF 对象文件的大小。

strip
命令从 XCOFF 对象文件里有选择地除去行号信息、重定位信息、调试段、typchk 段、凝视段、文件头以及全部或部分符号表。
一旦您使用该命令,则非常难调试文件的符号;因此,通常应该仅仅在已经调试和測试过的生成模块上使用 strip
命令。使用 strip
命令降低对象文件所需的存储量开销。

对于每一个对象模块。strip
命令除去给出的选项所指定的信息。

对于每一个归档文件,strip
命令从归档中除去全局符号表。

能够使用 ar -s
命令将除去的符号表恢复到归档文件或库文件里。

没有选项的 strip
命令除去行号信息、重定位信息、符号表、调试段、typchk
段和凝视段。

标志

-e
在对象文件的可选头中设置 F_LOADONLY
标志。假设对象文件放置在归档中,则该标志告知绑定程序(ld

命令),在与此归档链接时应忽略该对象文件里的符号。

-E
复位(关闭)对象文件的可选头中的 F_LOADONLY

位。(请參阅 -e
标志。)
-H
除去对象文件头、不论什么可选的头以及全部段的头部分。
注:
不除去符号表信息。

-l
(小写 L)从对象文件里除去行号信息。
-r
除了外部符号和静态符号条目,将所有符号表信息除去。不除去重定位信息。

同一时候除去调试段和
typchk 段。这个选项产生一个对象文件,该对象文件仍能够用作输入到链接编辑器(ld

命令)中。

-t
除去大多数符号表信息。但并不除去函数符号或行号信息。
-V
打印 strip
命令的版本。

-x
除去符号表信息,但并不除去静态或外部符号信息。 -x

标志同一时候除去重定位信息。因此将不可能链接到该文件。
-X
mode
指定应检查 strip
的对象文件的类型。 mode
必须是下列之中的一个: 32
仅仅处理
32 位对象文件
64
仅仅处理 64 位对象文件
32_64
既处理 32 位对象文件,又处理 64 位对象文件

缺省值是处理 32 位对象文件(忽略 64 位对象文件)。也能够用 OBJECT_MODE
环境变量来设置 mode


比如。OBJECT_MODE=64

使 strip
处理不论什么 64 位对象文件,并忽略 32 位对象文件。-X
标志重设 OBJECT_MODE
变量。

--
(双连字符)将尾随在该标志后的全部參数解释为文件名称。这就同意除去名称是以连字符開始的文件。

退出状态

该命令返回下面退出值:

0
成功完毕。
>0
出错。

演示样例

要除去 a.out
文件里的符号表和行号信息,请输入:
strip a.out


要除去 a.out
文件里的对象文件头,请输入:
strip -H a.out


要除去 lib.a
中的 32 位和 64 位符号表。请输入:
strip -X 32-64 lib.a


文件

/usr/ccs/bin/strip
包括 strip
命令。
==================================================================================

UNIX下运行文件的减肥工具 strip

-

  UNIX下文件压缩命令compress大家都比較熟悉了,它的压缩率比較高, 和tar命令结合使用来做数据备份是最合适只是了。

但compress压缩也有缺点,就是被压缩后的文件须要用命令uncompress解压后才干正常使用。而用strip命令就没有这个问题,它能清除运行文件里不必要的标示符及调试信息。可减小文件大小而不影响正常使用。但与compress 不同的是,文件一旦strip后就不能恢复原样了,所以strip是一个减肥工具而不是压缩工具。并且,被strip后的文件不包括调试信息。就不能用 dbx来调试程序了。如今让我们来详细效果怎样,看以下一个程序:

  #include

  main()

  {

  printf("hello, world/n");

  }

  用cc编译以后长度为46176字节。用strip后变为了 30648,足足减小了 1/3,并且仍然能够正常运行。除了用strip外。用共享库也是减小运行文件长度的方法。

  注:

   1.假设文件大小没有减小,那就是已经strip过了.

  2.cc 编译时加"-s"参数。它具有相同的效果。

  某种节省空间的方式:

  即对于一个单一的大的可执行文件可以写一个zexec脚本.下面的脚本是只为/usr/bin/cc的

   uncompress ./cc.Z

  mv cc /tmp

  cd /tmp

  ./cc
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: