1. 程式人生 > >linux 下靜態庫的編譯與使用

linux 下靜態庫的編譯與使用

前言

最近在學習《linux/Unix系統程式設計手冊》,對下載原始碼後將原始碼編譯成庫並使用的過程進行記錄。
靜態庫的字尾是.a,它的產生分兩步 :
1、由原始檔編譯生成一堆.o,每個.o裡都包含這個編譯單元的符號表
2、ar命令將很多.o轉換成.a,成為靜態庫

編譯

進入原始碼lib目錄
這裡寫圖片描述
(藍色為連結檔案)

步驟:
這裡寫圖片描述
1、生成.o檔案

gcc -c *.c

2、由.o檔案生成庫

ar rcs libtlpi.a *.o

使用:

方法1:使用絕對路徑
1、使用-I包含庫的標頭檔案路徑
2、使用-L指定庫所在的路徑
3、使用-l指定使用的庫,此時不需要字首lib

和字尾.a
這裡寫圖片描述

方法2: 使用系統路徑
1、將使用的標頭檔案拷貝到/usr/include
2、將庫檔案拷貝到/usr/lib
3、編譯時指定使用的庫
這裡寫圖片描述