zoukankan      html  css  js  c++  java
  • strip 使用命令

    使用

    通过消除使用调试器的粘合剂和符号信息,减少扩展公共对象文件格式(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 出错。

    演示样例

    1. 要除去 a.out 文件里的符号表和行号信息,请输入:
      strip a.out
    2. 要除去 a.out 文件里的对象文件头,请输入:
      strip -H a.out
    3. 要除去 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

  • 相关阅读:
    null in ABAP and nullpointer in Java
    SAP ABAP SM50事务码和Hybris Commerce的线程管理器
    Hybris service layer和SAP CRM WebClient UI架构的横向比较
    SAP ABAP和Linux系统里如何检查网络传输的数据量
    SAP CRM WebClient UI和Hybris的controller是如何被调用的
    SAP CRM和Cloud for Customer订单中的业务伙伴的自动决定机制
    SAP CRM WebClient UI和Hybris CommerceUI tag的渲染逻辑
    SAP BSP和JSP页面里UI元素的ID生成逻辑
    微信jsapi支付
    微信jsapi退款操作
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/4584280.html
Copyright © 2011-2022 走看看