Linux之靜態庫

2022-03-19 12:07:48 字數 1030 閱讀 1941

命名規則:

lib + 庫的名字 + .a

製作步驟

生成對應.o檔案  .c à .o

將生成的.o檔案打包   ar rcs + 靜態庫的名字(libmytest.a) + 生成的所有的.o 

發布和使用靜態庫:

1) 發布靜態

2) 標頭檔案

檔案如下圖所示:

1) 生成對應的.o檔案

2) 將所生成的.o檔案打包,並移動到lib資料夾中

3) 驗證生成的庫檔案資料

寫乙個測試**main.c使用上圖中的函式

/*

** main.c

***/

#include

#include

"mycalc.h

"int

main()

編譯執行:

靜態庫的優缺點:

檢視靜態庫內容

nm 靜態庫名字

nm 可以檢視可執行程式內容

優點:發布程式的時候,不需要提供對應的庫

庫的載入速度比較快

缺點:庫打包到應用程式中,庫的體積很大

庫發生了變化,需要重新編譯程式。

Linux複習之靜態庫的建立

庫是在鏈結階段和相應的.o檔案生成可執行檔案,根據鏈結方式的不同,可以分為靜態庫與動態庫。當使用靜態庫時,聯結器會找出程式所需的函式,將它們複製到執行檔案中,因為是完整複製,所以一旦鏈結成功,可執行檔案在靜態庫不存在的情況下依然可以執行。動態庫與靜態庫不同,動態庫會在程式內留下乙個 標記,當程式執行...

linux 靜態庫 動態庫

1.概念和區別 靜態庫就是在編譯過程中一些目標檔案的集合。靜態庫在程式鏈結的時候使用,鏈結器會將程式中使用到函式的 從庫檔案中拷貝到應用程式中。一旦鏈結完成,在執行程式的時候就不需要靜態庫了。由於每個使用靜態庫的應用程式都需要拷貝所用函式的 所以靜態鏈結的檔案會比較大。相對於靜態函式庫,動態函式庫在...

linux 靜態庫 動態庫

linux支援兩種庫的型別 靜態庫和動態庫 共享庫 1.linux靜態庫和動態庫的命名規則 靜態函式庫 lib a 動態函式庫 lib so 這些庫檔案都是由 o檔案生成的 動態庫 程式執行過程中進行連線。可執行檔案 庫檔案 靜態庫 編譯時進行連線。庫檔案 的複製貼上過程。程式執行時先檢查依賴的庫檔...