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 使用靜態庫生成的可執行...