命名格式:
1.以lib開頭優點:2.靜態庫名
3.a結尾
例如:libsort.a
缺點:使用場合:
1、得到*.o:gcc a.c b.c c.c -c
2、得到靜態庫libmytest.a
ar rcs libmytest.a a.o b.o c.o(就是乙個打包.o檔案的過程)共享庫的**是在可執行程式執行時才載入記憶體的,在編譯過程中僅簡單的引用,因此**體積較小。檢視庫中的符號(函式、全域性變數等):nm libmytest.a
優點:
缺點:
使用場合:對速度要求不是很強烈的地方都應使用動態庫
注意事項:冬天庫是否載入到記憶體,取決於程式是否執行
命名格式:
1.lib開頭1、生成「與位置無關」的目標檔案2.動態庫名
2.so結尾
例如:libmytest.so
gcc -fpic a.c b.c c.c -c2、製作動態庫
gcc -shared -o libmytest.so a.o b.o c.o3、使用動態庫-shared:製作動態庫
-o:重新命名生成的新檔案
ld_library_path:
Linux學習(六) 靜態庫和動態庫
在windows中安裝好的軟體目錄下會看到一大堆以lib,dll字尾的檔案。而且有時候玩遊戲或者執行軟體的時候經常會遇到無法執行,因為缺少 dll,而這些就是軟體執行需要的庫,也就是原始碼編譯後的檔案。本質上說庫是一種可執行的二進位制檔案,可以直接被作業系統載入記憶體執行。庫有兩種 靜態庫和動態庫。...
Linux學習總結(六)
一 簡單了解 linux是多使用者多工的作業系統,比如我的chy,就是向管理員申請的賬戶 二 使用者管理 存放使用者資訊 etc passwd 存放使用者組資訊 etc group 存放使用者密碼 etc shadow 新增新的使用者 useradd g 指定使用者主組 id 組名 比如 g 100...
linux靜態和動態庫的使用總結
lib總結 很值參考 1.靜態庫.a中的各符號和各.c不能重定義.2.動態庫.so則是可以,它會覆蓋定義,使用的是最左的庫定義.3.本檔案中定義總是最優先的.4.靜態庫參加鏈結時必須要依懶的放左邊,被依賴的放右邊.5.靜態庫中的檔名卻是可以與外鏈結的c檔案同名的.ar t lib a 顯示庫檔案中有...