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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM