uc下的靜態庫和共享庫建立方式

2021-08-26 14:06:06 字數 1215 閱讀 7871

1、建立靜態庫的過程:

1)寫源程式

math.c view.c

2)編譯源程式

gcc -c math.c ==> math.o

gcc -c view.c ==> view.o

3)建立靜態庫檔案

ar -r libmyku.a math.o view.o

2、使用靜態庫檔案

1)寫程式,呼叫庫中的函式

testku.c

2)編譯

gcc -c testku.c ==> testku.o

3)連線

第一種方式:

gcc testku.o libmyku.a ==> a.out

第二種方式:

gcc testku.o -l myku ==> a.out

依賴環境變數library_path

連線過程:將庫名myku變成檔名libmyku.a,然後在library_path環境變數指定的路徑找到檔案libmyku.a,最後進行連線。

第三種方式:

gcc testku.o -l myku -l .

不需要依賴環境變數library_path,用-l指定查詢庫檔案的路徑

3、建立共享庫

1)寫源程式

math.h math.c view.c

2)編譯源程式

gcc -c -fpic math.c ==> math.o

gcc -c -fpic view.c ==> view.o

3)連線並生成共享庫檔案

gcc -shared math.o view.o -olibmysku.so ==>libmysku.so

4、使用共享庫

1)寫使用程式

testku.c

2)編譯

gcc -c testku.c

3)連線

gcc testku.o -lmysku -l. ==> a.out

4)執行

a.out

依賴環境變數ld_library_path

a.out在執行期間呼叫庫中的函式時,需要先找到共享庫檔案,查詢庫檔案的方式是搜尋ld_library_path指定的路徑

project

src

binlib

doc練習:

寫幾個函式(考慮列印菱形,乙個列印空心,乙個列印實心),將這此函式做成靜態庫檔案,並呼叫它,再做成共享庫檔案,並呼叫它。

Linux下的靜態庫和共享庫的建立和使用

靜態庫的建立和使用 共享庫的建立及使用 第一次 從 usr lib下可以看出共享庫應該是藍色字型或是綠色字型,而我第一次建立的共享庫卻是黑色字型,顯然不對,我又重新做了一遍 第二次 這一次雖然建立好了libfoo.so,但是不能使用,找不到共享庫?我又做了第三次 第三次 我先將切換到管理員,然後 m...

靜態庫和共享庫

建立和使用靜態庫 1 建立目錄 mkdir p test sub 2 在子目錄sub 下編寫hello.c和hello.h hello.c include include hello.h void hello hello.h include void hello 4 在主目錄test 下編寫main...

建立C共享庫和靜態庫

操作環境,linux系統下。sth.c 庫程式 unsigned long long sth unsigned int x,unsigned int y 建立主函式呼叫fuction.c test.c include includeint main int argc,char argv gcc c ...