linux strip命令詳解
linux strip命令詳解
linux strip命令是linux下的一個(gè)命令,那么它的基本用法是怎樣的呢?下面由學(xué)習(xí)啦小編為大家整理了linux strip命令命令的相關(guān)知識(shí),希望對大家有幫助。
linux strip命令用途
通過除去綁定程序和符號(hào)調(diào)試程序使用的信息,減少擴(kuò)展公共對象文件格式(XCOFF)的對象文件的大小。
linux strip命令語法
strip [ -V] [ -r [ -l ] | -x [ -l ] | -t | -H | -e | -E ] [ -X {32|64|32_64}] [ -- ] File ...
linux strip命令描述
strip 命令減少 XCOFF 對象文件的大小。strip 命令從 XCOFF 對象文件中有選擇地除去行號(hào)信息、重定位信息、調(diào)試段、typchk 段、注釋段、文件頭以及所有或部分符號(hào)表。 一旦您使用該命令,則很難調(diào)試文件的符號(hào);因此,通常應(yīng)該只在已經(jīng)調(diào)試和測試過的生成模塊上使用 strip 命令。使用 strip 命令減少對象文件所需的存儲(chǔ)量開銷。
對于每個(gè)對象模塊,strip 命令除去給出的選項(xiàng)所指定的信息。對于每個(gè)歸檔文件,strip 命令從歸檔中除去全局符號(hào)表。
可以使用 ar -s 命令將除去的符號(hào)表恢復(fù)到歸檔文件或庫文件中。
沒有選項(xiàng)的 strip 命令除去行號(hào)信息、重定位信息、符號(hào)表、調(diào)試段、typchk 段和注釋段。
linux strip命令標(biāo)志
-e 在對象文件的可選頭中設(shè)置 F_LOADONLY 標(biāo)志。如果對象文件放置在歸檔中,則該標(biāo)志告知綁定程序(ld 命令),在與此歸檔鏈接時(shí)應(yīng)忽略該對象文件中的符號(hào)。
-E 復(fù)位(關(guān)閉)對象文件的可選頭中的 F_LOADONLY 位。(請參閱 -e 標(biāo)志。)
-H 除去對象文件頭、任何可選的頭以及所有段的頭部分。
注:不除去符號(hào)表信息。
-l (小寫 L)從對象文件中除去行號(hào)信息。
-r 除了外部符號(hào)和靜態(tài)符號(hào)條目,將全部符號(hào)表信息除去。不除去重定位信息。同時(shí)除去調(diào)試段和 typchk 段。這個(gè)選項(xiàng)產(chǎn)生一個(gè)對象文件,該對象文件仍可以用作輸入到鏈接編輯器(ld 命令)中。
-t 除去大多數(shù)符號(hào)表信息,但并不除去函數(shù)符號(hào)或行號(hào)信息。
-V 打印 strip 命令的版本號(hào)。
-x 除去符號(hào)表信息,但并不除去靜態(tài)或外部符號(hào)信息。 -x 標(biāo)志同時(shí)除去重定位信息,因此將不可能鏈接到該文件。
-X mode 指定應(yīng)檢查 strip 的對象文件的類型。 mode 必須是下列之一:
32
只處理 32 位對象文件
64
只處理 64 位對象文件
32_64
既處理 32 位對象文件,又處理 64 位對象文件
缺省值是處理 32 位對象文件(忽略 64 位對象文件)。也可以用 OBJECT_MODE 環(huán)境變量來設(shè)置 mode。例如,OBJECT_MODE=64 使 strip 處理任何 64 位對象文件,并忽略 32 位對象文件。-X 標(biāo)志重設(shè) OBJECT_MODE 變量。
-- (雙連字符)將跟隨在該標(biāo)志后的所有參數(shù)解釋為文件名。這就允許除去名稱是以連字符開始的文件。
退出狀態(tài)
該命令返回以下退出值:
0 成功完成。
>0 出錯(cuò)。
linux strip命令示例
要除去 a.out 文件中的符號(hào)表和行號(hào)信息,請輸入:
strip a.out要除去 a.out 文件中的對象文件頭,請輸入:
strip -H a.out要除去 lib.a 中的 32 位和 64 位符號(hào)表,請輸入:
strip -X 32_64 lib.a文件
/usr/ccs/bin/strip 包含 strip 命令。
相關(guān)信息
ar 命令、as 命令、dump 命令、ld 命令、size 命令。
ar 文件、a.out 文件。