The ar command maintains the indexed libraries used by the linkage editor.
ar 命令可用于維護 indexed libraries, indexed libraries通常被鏈接器使用, 用于和其它object文件進行鏈接.
The ar command combines one or more named files into a single archive file written in ar archive format.
ar命令組合一個或者多個命名的文件到單個歸檔文件
In an ar command, you can specify any number of optional flags from the set cClosTv.
ar命令可以指定參數集cClosTv中的0或多個.
You must specify one flag from the set of flags dhmopqrstwx.
ar命令必須指定參數集dhmopqrstwx中的1或多個.
If you select the -m or -r flag, you may also specify a positioning flag (-a, -b, or -i);
如果你指定了-m or -r, 你也許需要指定(-a, -b, or -i)
for the -a, -b, or -i flags, you must also specify the name of a file within ArchiveFile (PositionName), immediately following the flag list and separated from it by a blank.
如果指定了 -a -b -i,你一定要指定一個在歸檔文件中的命名文件(即已經歸檔的object文件名)
并且用空格分隔歸檔文件名和命名文件名.
//第一類
-m 移到一個已經歸檔的object文件到某個位置.默認為移動到最后.你可以使用 -a -b -i 指定位置.
-a 移到一個已經歸檔的object文件到指定object文件之后
-b 移到一個已經歸檔的object文件到指定object文件之后
-i 移到一個已經歸檔的object文件到指定object文件之后,和-b相同.
//第二類
-d 刪除一個已經歸檔的object文件
-r 替換一個已經歸檔的object文件.
如果不存在就加入, 你可以通過abi指定位置, 可以默認加到最后.
-q 把一個object文件加到歸檔文件最后,如果你加入兩次,歸檔文件中就會存在兩次,它不會替換舊的.
//第三類
-c 壓制信息輸出
-v 把庫的詳細內容輸出到標準輸出.
/*以下兩個不長用*/
-C Prevents extracted files from replacing like-named files in the file system.
-T本用于把長文件名截斷, 但已經無用.
//第四類
-l 把此命令的臨時文件放到指定位置.
-x 拷貝命名文件夾到當前目錄, 如果不指定, 它會拷貝所有文件到當前目錄.
-z 在ar命令工作期間,使用臨時拷貝,而不是源庫, 當ar命令結束時,使用臨時拷貝替換源庫.
//第五類
-p
-h 更新時間
-t 把庫的內容寫到標準輸出.
-w 顯示符號表, 每個符號都顯示所屬文件名
//第六類
-s 強制重新生成符號表.不論當前的ar命令是否改變了歸檔文件.
-u 只拷貝最近更新的文件.
-X mode
指定ar 命令應當檢查的object 文件的類型,
32
64
32_64
默認為32, 你也可能通過學習OBJECT_MODE環(huán)境變量來指定.
Usage: {}必選一個 []可選.
ar [-X{32|64|32_64|d64|any}] [-clsvCT] [-g|o] {-h|p|t|x}
[--] Archive [File ...]
ar [-X{32|64|32_64|d64|any}] [-clsvCT] [-g|o] {-m|r[u]}
[{-a|b|i} {PositionName}] [--] Archive File ...
ar [-X{32|64|32_64|d64|any}] [-clsvCT] [-g|o] {-d|q}
[--] Archive File ...
ar [-X{32|64|32_64|d64|any}] [-clvCT] {-g|o|s|w} [--] Archive
ar -X64 -t libifms.a
顯示庫的內容.like ls
ar -X64 -vt libifms.a
顯示庫的詳細內容like ls-l
ar -X64 -w libifms.a string.o
顯示符號表.