Linux靜態庫和動態庫的製作

2021-10-03 18:30:36 字數 1119 閱讀 7134

1.什麼是庫檔案?

儲存函式和變數

特點:儲存的函式與變數只能使用但不能看到其實現

2.linux庫檔案

靜態庫:在編譯階段載入(將庫檔案的**載入到原始檔)

動態庫:在執行時載入

3.生成可執行檔案存在的區別(優缺點)

(1)使用靜態庫生成的可執行檔案大於動態庫生成的可執行檔案(程式占用的記憶體較多)

(2)使用靜態庫生成的可執行檔案難以公升級,使用動態庫生成的可執行檔案易於公升級

(3)使用靜態庫生成的可執行檔案執行速度快,使用動態庫生成的可執行檔案執行速度慢

(4)使用靜態庫生成的可執行檔案裡的**容易部署,動態庫難以部署

4.linux庫檔案存放路徑(自動搜尋路徑)

/lib:存放系統執行所需要的庫

/usr/lib:存放的是程式執行所需要的庫

5.如何製作靜態庫

(1)將需要儲存的函式所在的檔案編譯成目標檔案

gcc -c add.c sub.c

(2)靜態庫的製作工具:ar

ar rcs 庫名 目標檔名(例如add.o)

(3)使用

gcc 原始檔 -l庫名 -l庫存放的路徑

例如gcc main.c -ladd -l. -o add

6.如何製作動態庫

gcc -shared -fpic 原始檔 -o libcal.so

使用(1)

Linux下製作靜態庫和動態庫

所謂庫檔案,就是一堆函式的集合。一堆函式原始碼的集合 c 一堆二進位制函式 的集合 so 使用者可以呼叫庫裡面的函式,但是沒有辦法看到函式的實現過程。在linux裡面,庫有兩種,一種是靜態庫 lib x.a 另外一種是動態庫 共享庫 lib x.so 例子 libabc.so.0.8 lib 庫的字...

製作靜態庫和動態庫

製作靜態庫的方法 1 把 編譯為目標檔案形式 gcc c liberr.c o liberr.o 2 使用工具ar建立乙個存檔檔案 ar rcs liberr.a liberr.o gcc errtest.c o errtest static l.lerr 製作動態庫的方法 1 首先編譯目標檔案 g...

靜態庫和動態庫製作

1.什麼是庫檔案?儲存函式和變數 倉庫 特點 儲存的函式變數只能使用但不能看到其它實現。靜態庫 a 在編譯階段載入 將庫檔案 載入到原始檔 動態庫 so 在執行時載入。2.生成的可執行檔案存在的區別 優缺點 1 使用靜態庫生成的可執行檔案大於動態庫 程式執行占用記憶體較多 2 使用靜態庫生成的可執行...