linux靜態和動態庫的使用總結

2021-06-28 07:26:20 字數 402 閱讀 1307

lib總結: 很值參考

1. 靜態庫.a中的各符號和各.c不能重定義.

2. 動態庫.so則是可以,它會覆蓋定義,使用的是最左的庫定義.

3. 本檔案中定義總是最優先的.

4. 靜態庫參加鏈結時必須要依懶的放左邊,被依賴的放右邊.

5. 靜態庫中的檔名卻是可以與外鏈結的c檔案同名的.

ar t lib***.a

顯示庫檔案中有哪些目標檔案,只顯示名稱。

ar tv lib***.a

顯示庫檔案中有哪些目標檔案詳細資訊。

nm -s lib***.a

顯示庫檔案中的索引表。

ar rcu lib***.a *.o

生成靜態庫

cc -shared -fpic

產生動態庫選項

Linux靜態庫 動態庫的生成和使用

當要把程式給別人,但不想讓他看到原 的時候,可以將程式編譯成 庫 發給他。相當於對程式進行了加密,別人可以使用,但看不到裡面的內容。一 靜態庫與動態庫?靜態庫在程式編譯時會被連線到目標 中,程式執行時將不再需要該靜態庫。動態庫在程式編譯時並不會被連線到目標 中,而是在程式執行是才被載入,因此在程式執...

Linux的靜態庫和動態庫

靜態庫命名規則 靜態庫檔案命名為lib a lib為固定字首 為庫的名字,庫名字內容長度自己定。注意庫的名字和庫檔案名字是兩個東西 a為固定的庫檔案字尾 靜態庫的製作與使用 靜態庫 的編寫 class cmath 將 檔案編譯成目標檔案.o g c math.cpp注意帶引數 c,否則直接編譯為可執...

linux 靜態庫和動態庫

1.生成方式 靜態庫 首先將原始檔編譯成目標檔案 gcc c test.c o test.o 然後生成靜態庫 ar rc libstatic.a test.o 共享庫 首先將原始檔編譯成目標檔案 gcc c test.c o test.o 生成共享庫 gcc fpic shared o libsha...