1)制作靜態(tài)庫
g++ -c -o lib庫名.a 源代碼文件清單
-c選項表示只編譯不鏈接
image.png
2****)使用靜態(tài)庫
不規(guī)范的做法:
g++ 選項 源代碼文件名清單 靜態(tài)庫文件名
規(guī)范的做法:
g++ 選項 源代碼文件名清單 -l庫名 -L庫文件所在的目錄名
image.png
3****)制作動態(tài)庫
g++ -fPIC -shared -o lib庫名.so 源代碼文件清單
4****)使用動態(tài)庫
不規(guī)范的做法:
g++ 選項 源代碼文件名清單 動態(tài)庫文件名
規(guī)范的做法:
g++ 選項 源代碼文件名清單 -l庫名 -L庫文件所在的目錄名
運行可執(zhí)行程序的時候抑胎,需要提前設(shè)置LD_LIBRARY_PATH環(huán)境變量蔗牡。
image.png
image.png
5****)優(yōu)先使用動態(tài)庫
如果動態(tài)庫和靜態(tài)庫同時存在,編譯器將優(yōu)先使用動態(tài)庫瓦胎。