?
?
命名規則:
lib + 庫的名字 + .a
制作步驟
生成對應.o文件 ?.c à .o
將生成的.o文件打包?? ar rcs + 靜態庫的名字(libMytest.a) + 生成的所有的.o?
發布和使用靜態庫:
1) 發布靜態
2) 頭文件
?
文件如下圖所示:
1) 生成對應的.o文件
2) 將所生成的.o文件打包,并移動到lib文件夾中
3) 驗證生成的庫文件數據
寫一個測試代碼main.c使用上圖中的函數
/***main.c ***/ #include<stdio.h> #include"MyCalc.h"int main() {int a = 10;int b = 20;int result = a + b;printf("a + b = %d\n",result);return 0; }
編譯運行:
靜態庫的優缺點:
查看靜態庫內容
nm 靜態庫名字
nm 可以查看可執行程序內容
?
優點:
- 發布程序的時候,不需要提供對應的庫
- 庫的加載速度比較快
缺點:
- 庫打包到應用程序中,庫的體積很大
- 庫發生了變化,需要重新編譯程序。