linux下構建 靜態函式庫 a

2021-08-25 12:13:39 字數 585 閱讀 1883

一.靜態庫構建

1.定義兩個函式檔案

say.c

#include

void say(char *arg)

write.c

#include

void write(char *arg)

2.編譯這兩個檔案

gcc -c say.c write.c

產生say.o write.o

-c作用是阻止編譯器建立乙個完整的程式,因為沒有main函式

3.打包歸檔

ar crv libmy.a say.o write.o

產生libmy.a歸檔檔案

4.使用歸檔檔案

編寫庫的標頭檔案

libmy.h

void write(char *);

void say(char *);

使用mainlib.c

#include

#include"libmy.h"

int main()

gcc -c mainlib.c

gcc -o mainlib mainlib.o libmy.a

執行./mainlib

Linux 下的靜態(函式)庫 動態(函式)庫

不用指定生成.o檔名 預設生成file1.o,file2.o,file3.o ar rv libname.a file1.o file2.o file3.or 將flie1.o,file2,o,file3.o插入archive,如故原先archive中已經存在某檔案,則先將該檔案刪除。v 顯示ar操...

Linux的靜態函式庫和動態函式庫

一 在linux中,有兩種函式庫,以 so字尾命名的是動態函式庫,以 a字尾命名的是靜態函式庫 二 靜態函式庫 1 靜態函式庫是多個目標檔案 o的集合 2 可以使用ar命令 archiver 來生成.a檔案 gcc c part a.c gcc c part b.c ar r libtest.a p...

Linux應用開發 靜態函式庫和動態函式庫

什麼叫庫?就是一些函式經過一定的操作生成的可執行的二進位制檔案,能夠被外部呼叫使用封裝的函式。linux應用程式所使用的主要函式庫均存放於 lib和 usr lib目錄下,其中以 so方式命名的是動態函式庫,以 a命令的是靜態函式庫,linux下進行鏈結時預設使用動態函式庫,如果想要使用靜態函式庫時...