静态库打包
静态库(把目标文件:二进制文件,.o,.a)打包:使用静态库有两个条件:
把库文件包含进来
包含头文件
注意:库文件中不能有main函数
Linux中,静态链接库以.a结尾,动态链接库以.so结尾。
windows中,静态链接库以.lib结尾,动态链接库以.dll结尾。
静态库打包主要是把多个.o文件生成链接文件,有以下优点
代码保护(看不到原来代码)
维护成本低
可在静态库设置保护期(eg:获取当前时间和2019年比较,若大于则退出)
Makefile的书写:
1.PHONY:libmysem.a2libmysem.a:comm.o3arrcs$@$^4comm.o:comm.c5gcc-c$<6.PHONY:clean7clean:8rm-flibmyset.acomm.o
$<表示把依赖也表文件一个个拿出来给gcc -c命令。
下来就可以使用该静态库了,新建一个目录,拷贝libmyset.a和comm.h文件到此目录下,这是使用静态库的两个条件。但现在还是找不到库文件,引文我们平常使用时连接的时候系统文件在环境变量PATH中定义路径,所以可以找到。接下来,修改Makefile文件添加-I/lib(可找到头文件) -L/lib(搜索路径) -lmyset(一个路径下哪个库)。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。