天天看點

靜态庫打包

靜态庫(把目标檔案:二進制檔案,.o,.a)打包:使用靜态庫有兩個條件:

把庫檔案包含進來

包含頭檔案

注意:庫檔案中不能有main函數

Linux中,靜态連結庫以.a結尾,動态連結庫以.so結尾。

windows中,靜态連結庫以.lib結尾,動态連結庫以.dll結尾。

靜态庫打包主要是把多個.o檔案生成連結檔案,有以下優點

代碼保護(看不到原來代碼)

維護成本低

可在靜态庫設定保護期(eg:擷取目前時間和2019年比較,若大于則退出)

Makefile的書寫:

$<表示把依賴也表檔案一個個拿出來給gcc -c指令。

下來就可以使用該靜态庫了,建立一個目錄,拷貝libmyset.a和comm.h檔案到此目錄下,這是使用靜态庫的兩個條件。但現在還是找不到庫檔案,引文我們平常使用時連接配接的時候系統檔案在環境變量PATH中定義路徑,是以可以找到。接下來,修改Makefile檔案添加-I/lib(可找到頭檔案)  -L/lib(搜尋路徑) -lmyset(一個路徑下哪個庫)。

繼續閱讀