星期一, 11月 22, 2004

靜態函式庫

* 以下摘自 "Linux 應用程式發展手冊, 黃俊翔譯"
靜態函式庫是一些物件檔的集合,這些物件檔是由 ar (archiver) 工具所建立的。

ar 會將物件檔收集在同一個保存檔案 (archive file) 中,並加入用來記錄每個物件檔定義了哪些符號的表格。

接下來, ld 連結程式會把在物件檔中參考到的符號,連結到位於保存檔案之中的符號定義。
靜態函式庫使用的副檔名是 .a

將一組物件檔轉換成靜態函式庫的方法:
1. ar rcs libname.a foo.o bar.o baz.o
2. ar rcs libname.a foo.o
ar rcs libname.a bar.o
ar rcs libname.a baz.o

ar 所用到的選項 rcs 之意義如下所示:
r 將物件加入函式庫。會替換掉保存檔中所有同名的物件檔。
c 如果該函式庫不存在,就自動建立
s 維護將符號名稱對應至物件檔名稱的表格

沒有留言: