Linux 靜態庫 和 動態庫 的建立

2021-10-21 20:07:38 字數 846 閱讀 3335

3/11

gcc -wall hello.c 顯示所有警告

庫檔案:存放函式和變數的倉庫,特點:只能使用庫里的函式和變數,不能看到其實現

靜態庫.a:當使用靜態庫時,庫里的函式和變數只在編譯時載入到可執行檔案

動態庫.so:當使用動態庫時,庫里函式和變數只在執行時載入到可執行檔案的;

可執行檔案:靜態庫》動態庫(靜態庫效率高)

可執行檔案速度:靜態庫》動態庫

可執行檔案的功能公升級:靜態庫《動態庫

可執行檔案的**部署:靜態庫 >動態庫

linux庫放在lib資料夾

「」當前目錄下查詢

<>lib庫里尋找

庫檔案存放位置 /lib/usr/lib

gcc -c add.c將(.c)檔案改為二進位制檔案 (.o)

ar rcs libadd.a add.o (lib為字首 .a為字尾 add為名字)將add.o放入庫中

cp …/1.c . 將1.c從上級目錄複製到當前目錄

gcc main.c -ladd -l. (add為檔案名字)-ladd(到add處執行) 靜態編譯

靜態庫gcc -c 編譯原始檔為.o檔案

ar rcs 庫檔名 目標檔案

gcc 原始檔 -l庫名 -l.(點為庫的路徑)

動態庫建立動態庫

gcc -shared -fpic add.c -o libadd.so

gcc -shared -fpic 原始檔 -o 庫名

編譯動態庫

gcc mainc.c ./libadd.so -o main

gcc 原始檔 ./庫名 -o 可執行檔名(自取)

寫乙個可以實現加減法的靜態庫

linux建立靜態庫和動態庫

2015新年第一篇部落格,哈哈,這個2月還沒寫過部落格呢,從現在開始繼續!一 建立靜態庫 在本例中將建立乙個小型靜態函式庫libfoo,包含兩個函式bill fred 1 編輯兩個檔案bill.c和fred.c bill.c include void bill fred.c include void...

Linux中建立靜態庫和動態庫

我們通常把一些公用函式製作成函式庫,供其它程式使用。函式庫分為靜態庫和動態庫兩種。靜態庫在程式編譯時 會被連線到目標 中,程式執行時將不再需要該靜態庫。動態庫在程式編譯時並不會被連線到目標 中,而是在程式執行是才被載入,因此在程式執行時還需要 動態庫存在。本文主要通過舉例來說明在linux中如何建立...

linux 下建立靜態庫和動態庫

4.生成庫檔案 編寫函式 編譯生成各目標檔案 用ar檔案對目標檔案歸檔,生成靜態庫檔案。注意歸檔檔案名必須以lib打頭 可檢視庫檔案命名規則 使用要點 在gcc的 i引數後加上靜態庫標頭檔案的路徑。在gcc的 l引數後加上庫檔案所在目錄 在gcc的 l引數後加上庫檔名,但是要去掉lib和.a副檔名。...