ar命令用法

2021-06-06 13:03:50 字數 1892 閱讀 8299

ar基本用法

ar命令可以用來建立、修改庫,也可以從庫中提出單個模組。庫是一單獨的檔案,裡面包含了按照特定的結構組織起來的其它的一些檔案(稱做此庫檔案

的member)。原始檔案的內容、模式、時間戳、屬主、組等屬性都保留在庫檔案中。

下面是ar命令的格式:

ar[-][abcfilnopssuvv][membername][count]archivefiles...

例如我們可以用ar rvl ibtest.a hello.o hello1.o來生成乙個庫,庫名字是test,鏈結時可以用-ltest鏈結。該庫中存放了兩個模組hello.o和

hello1.o。選項前可以有 『-』字元,也可以沒有。下面我們來看看命令的操作選項和任選項。現在我們把部分稱為操作選項,而[abcfilnopssuvv]部分

稱為任選項。

中的操作選項在命令中只能並且必須使用其中乙個,它們的含義如下:

d:從庫中刪除模組。按模組原來的檔名指定要刪除的模組。如果使用了任選項v則列出被刪除的每個模組。

m:該操作是在乙個庫中移動成員。當庫中如果有若干模組有相同的符號定義(如函式定義),則成員的位置順序很重要。如果沒有指定任選項,任何指定

的成員將移到庫的最後。也可以使用』a』,』b』,或』i』任選項移動到指定的位置。

p:顯示庫中指定的成員到標準輸出。如果指定任選項v,則在輸出成員的內容前,將顯示成員的名字。如果沒有指定成員的名字,所有庫中的檔案將顯示

出來。q:快速追加。增加新模組到庫的結尾處。並不檢查是否需要替換。』a』,』b』,或』i』任選項對此操作沒有影響,模組總是追加的庫的結尾處。如果

使用了任選項v則列出每個模組。這時,庫的符號表沒有更新,可以用』ars』或ranlib來更新庫的符號表索引。

r:在庫中插入模組(替換)。當插入的模組名已經在庫中存在,則替換同名的模組。如果若干模組中有乙個模組在庫中不存在,ar顯示乙個錯誤訊息,並

不替換其他同名模組。預設的情況下,新的成員增加在庫的結尾處,可以使用其他任選項來改變增加的位置。

t:顯示庫的模組表清單。一般只顯示模組名。

x:從庫中提取乙個成員。如果不指定要提取的模組,則提取庫中所有的模組。

下面在看看可與操作選項結合使用的任選項:

a:在庫的乙個已經存在的成員後面增加乙個新的檔案。如果使用任選項a,則應該為命令列中membername引數指定乙個已經存在的成員名。

b:在庫的乙個已經存在的成員前面增加乙個新的檔案。如果使用任選項b,則應該為命令列中membername引數指定乙個已經存在的成員名。

c:建立乙個庫。不管庫是否存在,都將建立。

f:在庫中截短指定的名字。預設情況下,檔名的長度是不受限制的,可以使用此引數將檔名截短,以保證與其它系統的相容。

i:在庫的乙個已經存在的成員前面增加乙個新的檔案。如果使用任選項i,則應該為命令列中membername引數指定乙個已經存在的成員名(類似任選項b)

l:暫未使用

n:與count引數一起使用,在庫中有多個相同的檔名時指定提取或輸出的個數。

o:當提取成員時,保留成員的原始資料。如果不指定該任選項,則提取出的模組的時間將標為提取出的時間。

p:進行檔名匹配時使用全路徑名。ar在建立庫時不能使用全路徑名(這樣的庫檔案不符合posix標準),但是有些工具可以。

s:寫入乙個目標檔案索引到庫中,或者更新乙個存在的目標檔案索引。甚至對於沒有任何變化的庫也作該動作。對乙個庫做ars等同於對該庫做ranlib。

s:不建立目標檔案索引,這在建立較大的庫時能加快時間。

u:一般說來,命令arr…插入所有列出的檔案到庫中,如果你只想插入列出檔案中那些比庫中同名檔案新的檔案,就可以使用該任選項。該任選項只用於

r操作選項。

v:該選項用來顯示執行操作選項的附加資訊。

v:顯示ar的版本。

$(ar) rv $(target)  $(all_obj)

ar命令詳解

在找到乙個man手冊上的翻譯。維護鏈結編輯器使用的索引庫。ar c l g o s v c t z x archivefile file ar c l g o s v c t z positionname x archivefile file ar c l g o s v c t z x archi...

ar命令和nm命令

2008 11 19 09 49 ar create,modify and extract from archive nm list symbol from obj files 可以檢視動態庫中都有些什麼函式 當我們的程式中有經常使用的模組,而且這種模組在其他程式中也會用到,這時按照軟體重用的思想,...

AR命令和NM命令

ar create,modify and extract from archive nm list symbol from obj files 可以檢視動態庫中都有些什麼函式 當我們的程式中有經常使用的模組,而且這種模組在其他程式中也會用到,這時按照軟體重用的思想,我們應該將它們生成庫,使得以後程式...