一、生成靜態鏈結庫並應用
1.首先,建立乙個c檔案
root@ubuntu:~/c# cat fun.c
#includeint fun(int a,int b)
2.然後,將fun.c打包成靜態庫root@ubuntu:~/c# cat fun.h
#ifndef _fun_h_
#define _fun_h_
int fun(int a,int b);
#endif
①.gcc -c fun.c -o fun.o //生成二進位制檔案
②.ar -rc libfun.a fun.o //打包成靜態庫
3.呼叫,在main.c中呼叫
4.編譯,gcc main.c -o main -i. -lfun -l.#include#include"fun.h"
int main(void)
5.成功引用。
二、生成動態鏈結庫並引用
-shared 為鏈結庫 讓編譯器知道是要編譯乙個共享庫
-fpic(position independent code) 編譯生成**與位置無關
1.將上面的例子繼續使用直接進行編譯
gcc -c -fpic -shared fun.c -o libfun.so
2.進行 呼叫
gcc main.c -o main -l. -lfun
3,呼叫成功。
建立靜態鏈結庫 動態鏈結庫
下面的實操中的動態庫或者靜態庫名都用wujunwu 第一步 建立乙個源 建立靜態鏈結庫的源 include void func1 void int func2 int x,int y 第二步 建立乙個.件作為函式宣告 void func1 void intfunc2 int x,int y 第三步 ...
C 靜態鏈結庫和動態鏈結庫
專案 屬性 c c 附加包含目錄 填寫附加標頭檔案所在目錄 分號間隔多項 專案 屬性 鏈結器 常規 附加庫目錄 填寫附加依賴庫所在目錄 分號間隔多項 專案 屬性 鏈結器 輸入 附加依賴項 填寫附加依賴庫的名字.lib 空格或分號間隔多項 2 dynamic link library 的縮寫形式,dl...
C語言使用動態鏈結庫靜態鏈結庫
1 每個 c 語言原始檔被編譯後生成目標檔案,這些目標檔案最終要被鏈結在一起生成可執 行檔案。2 鏈結器的主要作用是把各個模組之間相互引用的部分處理好,使得各個模組之間能夠正 確的銜接。由鏈結器在鏈結時將庫的內容直接加入到可執行程式中 編譯靜態庫原始碼 gcc c lib.c o lib.o 生成靜...