strip 命令的用法

2022-07-12 20:06:20 字數 2197 閱讀 1003

通過除去繫結程式和符號除錯程式使用的資訊,減少擴充套件公共物件檔案格式(xcoff)的物件檔案的大小。

strip [ -v

] [ -r [ -l ] | -x [ -l ] | -t | -h | -e | -e ] [ -x ] [ -- ] 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 標誌同時除去重定位資訊,因此將不可能鏈結到該檔案。

-xmode

指定應檢查 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

unix下執行檔案的**工具 strip

-unix下檔案壓縮命令compress大家都比較熟悉了,它的壓縮率比較高, 和tar命令結合使用來做資料備份是最合適不過了。但compress壓縮也有缺點,就是被壓縮後的檔案需要用命令uncompress解壓後才能正常使用。而用strip命令就沒有這個問題,它能清除執行檔案中不必要的標示符及除錯資訊,可減小檔案大小而不影響正常使用。但與compress 不同的是,檔案一旦strip後就不能恢復原樣了,所以strip是乙個**工具而不是壓縮工具。而且,被strip後的檔案不包含除錯資訊,就不能用 dbx來除錯程式了。現在讓我們來具體效果如何,看下面乙個程式:

#include

main()

用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

split與strip的用法

pythonsplit 通過指定分隔符對字串進行切片,如果引數 num 有指定值,則分隔 num 1 個子字串 split 方法語法 str.split str num string.count str 返回分割後的字串列表。以下例項展示了 split 函式的使用方法 usr bin python ...

python中strip的用法

python中strip用於移除字串頭尾指定的字元 預設為空格或換行符 或字串行。注意 該方法只能刪除開頭或是結尾的字元,不能刪除中間部分的字元。如下 a i am a student print a.strip i 去除開始的 i am a student print a.strip i tn 去...

python中strip函式的用法

python中往往使用剝除函式strip 來對使用者的輸入進行清理。strip函式的最一般形式為 str.strip 序列 其中,序列是一段字串,該函式表示從頭或者從尾部開始進行掃瞄,如果掃瞄的字元在序列字串中,則剔除掉,一直到遇到乙個不在序列字串中的字元為止。延伸的函式 str.lstrip 序列...