静态库
静态函数库,是函数执行前(编译)就加到目标程序中去了。
优点:
(1)运行快。
(2)发布程序无需提供静态库,因为已经在APP中,移植方便。
缺点:
(1) 程序大。
(2)链接时完整地拷贝至可执行文件中,别多次使用就有多份冗余拷贝。
(3)更新,部署,发布较为麻烦
我们很多时候不希望别人看到我们的源码,只想让别人就用一下我的功能就行,我们就要用到库
格式: libxxx.a
库名为xxx,后缀是 .a
步骤:
原材料:源代码.c
(a)用.c文件生成 .o文件——例:gcc cal.c -c
(b)xxx.o文件生成xxx.a静态库文件——例:ar rcs libcal.a cal.o(可以打包多个 .o文件)
gcc run.c -lcal -L ./ -o xxxx
说明:
主函数c文件 -l库名 -L 路径 -o 可执行文件名
-l是要指定要用的静态库
-L告诉gcc编译器从-L指定的路径去找静态库,默认从 /usr/lib 或 /usr/local/lib 路径下去找
实战
1.第一步,将cal.c文件转化为cal.o文件作为制作库的原材料
2.第二步,ar rcs命令制作库
3.(记得主函数中仍然要导入.h)
4.-l库名 -L./(在当前目录中寻找库) -o 程序编译后的名字
5.运行
(师上官可编程)