linux 靜態庫 動態的創建

1.參數r:在庫中插入模塊(替換)。當插入的模塊名已經在庫中存在,則替換同名的模塊。如果若干模塊中有一個模塊在庫中不存在,ar顯示一個錯誤消息,並不替換其他同名模塊。默認的情況下,新的成員增加在庫的結尾處,可以使用其他任選項來改變增加的位置。

參數c:創建一個庫。不管庫是否存在,都將創建。 

參數s:創建目標文件索引,這在創建較大的庫時能加快時間。(補充:如果不需要創建索引,可改成大寫S參數;如果。a文件缺少索引,可以使用ranlib命令添加)

常用的ar命令

格式:ar t libxxx.a  

顯示庫文件中有哪些目標文件,只顯示名稱。  

格式:ar tv libxxx.a  

顯示庫文件中有哪些目標文件,顯示文件名、時間、大小等詳細信息。  

格式:nm -s libxxx.a  

顯示庫文件中的索引表。  

格式:ranlib libxxx.a  

爲庫文件創建索引表。 

 ar rcs libhycu.a.$OS *.o 

makefile

$(BIN1): $(BIN1_OBJS)

  ar rcs $@ $^ 

 

動態庫

gcc -shared -fPIC -o libtest.so test.o 

//-shared表示輸出結果是共享庫類型的 -fPIC表示使用地址無關代碼奇數來生產輸出文件

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章