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副檔名。...