靜態庫文件也稱爲 文檔文件, 是由一些 .o 文件的集合。
在linux中使用工具 ar 對其進行維護管理。
1. 庫成員作爲目標
庫成員作爲目標時,使用如下格式:
ARCHIVE(MEMBER) #表示庫ARCHIVE的成員MEMBER。
同時指定庫的多個成員:
foolib(hack.o dge.o) #等價於 foolib(hack.o) foolib(dge.o)
2. 靜態庫的更新
假如存在目標: foo.a(bar.o)
執行 make ‘foo.a(bar.o)’ #需要加引號,不然shell 會將 ( ) 當做特殊符號處理。
運行如下命令:
cc -c bar.c -o bar.o #生成成員bar.o
ar r foo.a bar.o #將成員bar.o加到foo.a庫中
rm -f bar.o #刪除中間文件
3.靜態庫符號索引表的更新
當庫增加了成員之後,需要更新成員,否則增加的成員中所定義的所有符號將無法被連接程序定位。
ranlib ARCHIVEFILE #對ARCHIVEFILE進行成員更新