1、製作靜態鏈結庫
第一步:demo.c demo.h
/* demo.c */
#include
void func1(void)
int func2(int a,int b)
/*demo.h*/
void func1(void);
int func2(int a, int b);
第二步:製作靜態庫
gcc -c demo.c -o demo.c
ar -rc libdemo.a demo.o
使用gcc -c 只編譯不連線,生成.o檔案。然後使用ar工具打包成.a歸檔檔案。庫名不能隨便亂起,一般是lib+庫名稱,字尾名是.a表示乙個歸檔檔案。
第三步:製作出靜態庫後,發布時需要發布.a檔案和.h檔案。
2、使用靜態庫
把.a檔案和.h檔案都放在需要引用的資料夾下。
/* test.c */
#include "demo.h"
#include
int main(void)
編譯:
gcc test.c -o test -ldemo
-l.
當使用-l***時,鏈結器試圖在預設的鏈結庫路徑去尋找lib***.a檔案,但是libdemo.a檔案放在了當前路徑,找不到。所以-l是指定鏈結器在哪個目錄下尋找的庫檔案,句號.表示當前路徑。
3、nm命令
nm命令用來檢視乙個.a檔案中都有哪些符號,如:
book@book-desktop:/work/c_test$ nm libdemo.a
demo.o:
00000000
t func1
00000014
t func2
u puts
6 10自己製作靜態連線庫 動態鏈結庫並使用
1 第一步 自己製作靜態鏈結庫 首先使用gcc c只編譯不鏈結,生成.o檔案 然後使用ar工具進行打包成.a的歸檔檔案。庫名不能隨便亂起,一般是lib 庫名稱,字尾名是.a表示是乙個歸檔檔案 注意 製作出來了靜態庫之後,發布時需要發布.a檔案和.件 makefile all gcc pointer8...
如何製作及鏈結靜態鏈結庫
1.靜態鏈結庫的生成 在vc 6.0中新建專案的project選項卡中選擇win32 static library,將原檔案及標頭檔案新增到相應的資料夾中,編譯鏈結一下,如果沒有錯誤就會自動生成.lib檔案了。2.靜態鏈結庫的鏈結 將下列語句新增到頭檔案中 pragma comment lib,li...
如何製作及鏈結靜態鏈結庫。
1.靜態鏈結庫的生成 在vc 6.0中新建專案的project選項卡中選擇win32 static library,將原檔案及標頭檔案新增到相應的資料夾中,編譯鏈結一下,如果沒有錯誤就會自動生成.lib檔案了。2.靜態鏈結庫的鏈結 將下列語句新增到頭檔案中 pragma comment lib,li...