1、靜態鏈結庫的生成
靜態鏈結庫實際上是.o檔案乙個集合,因此只需要使用ar命令來將這些.o檔案合併就行了
比如ar -rc test.a *.o那就是生成乙個叫test.a的靜態庫檔案
2、動態鏈結庫的生成
編譯時就需要指定引數-fpic -shared引數
3、靜態鏈結庫的使用
靜態鏈結庫使用跟.o檔案一樣,直接綴在鏈結引數後面就行了
4、動態鏈結庫的使用
-l加庫名來指定,注意如果動態鏈結庫不在搜尋路徑上,則需要指定ld_library_path
從運維的角度來看,還是靜態鏈結庫更好一些,只需要拷貝乙個檔案就行了,雖然檔案比較大,但是影響不大。
Linux下動態鏈結庫和靜態鏈結庫
第一部分 編譯過程 預處理過程,負責標頭檔案展開,巨集替換,條件編譯的選擇,刪除注釋等工作。gcc e表示進行預處理。編譯過程,負載將預處理生成的檔案,經過詞法分析,語法分析,語義分析及優化後生成彙編檔案。gcc s表示進行編譯。彙編,是將彙編 轉換為機器可執行指令的過程。通過使用gcc c或者as...
Linux下的動態鏈結庫與靜態鏈結庫的生成與使用
1 靜態鏈結庫的生成 靜態鏈結庫實際上是.o檔案乙個集合,因此只需要使用ar命令來將這些.o檔案合併就行了 比如ar rc test.a o那就是生成乙個叫test.a的靜態庫檔案 2 動態鏈結庫的生成 編譯時就需要指定引數 fpic shared引數 3 靜態鏈結庫的使用 靜態鏈結庫使用跟.o檔案...
Windows下動態鏈結庫與靜態鏈結庫的構建
bool winapi dllmain handle hdllhandle,dword dwreason,當乙個程式試圖載入解除安裝dll時,系統會呼叫dll庫中的dllmain函式 然後編寫實際功能函式 libiary win32 dll 模組名稱 exports 下面的函式才能在dll外使用 f...