1.建立一個文件夾,名字隨意,這裏使用staticlib,內部分別建立文件目錄include,src,lib,還有main.c文件。內部結構圖入圖所示git
2.在include的head.h文件中聲明方法github
3.在add.c中寫代碼markdown
int result = a + b;
複製代碼
return result;
複製代碼
4.在div.c中寫代碼oop
int result = a / b;
複製代碼
return result;
複製代碼
5.在mul.c中寫代碼ui
int result = a * b;
複製代碼
return result;
複製代碼
6.在sub.c中寫代碼spa
int result = a - b;
複製代碼
return result;
複製代碼
7.將除了main.c以外的.c文件進行編譯,生成.o文件code
由於要生成目標文件的.c文件都放在src文件中了,因此cd到src文件orm
而後執行gcc -c -I ../include *.c
複製代碼
gcc -c xxx.c 是生成.o文件命令
複製代碼
-I 是導入的功能
複製代碼
../include ..是上一級,也就是上一級的include文件
複製代碼
-I ../include 就是導入上級中的include文件中的內容
複製代碼
*.c 是通配符,表示當前文件夾下的全部.c文件
複製代碼
8.將.o文件進行打包(當前在src目錄下)get
執行 ar src libCaculate.a *.o
複製代碼
而後會在當前目錄下生成一個libCaculate.a的靜態庫 9.將靜態庫移動到lib文件夾下it
執行 mv libCaculate.a ../lib(此時已經移到lib文件夾下了)
cd .. (回到上一級,即staticlib級)
tree
複製代碼
gcc main.c -I include -L lib -l Caculate
或者
gcc main.c -I include -L lib -l Caculate -o 指定名字
會生成一個對應的a.out文件/指定名字文件
11 執行
./a.out 或者 ./指定名字
複製代碼
demo地址: github.com/suifumin/Li…