命名規則:
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檔案生成的 動態庫 程式執行過程中進行連線。可執行檔案 庫檔案 靜態庫 編譯時進行連線。庫檔案 的複製貼上過程。程式執行時先檢查依賴的庫檔...