静态库的创建:
静态库后缀通常以.a结尾,链接生成静态库时需要使用ar命令。
常用参数:
r 在库中插入(修改)模块(替换静态库)。当插入的模块名已经在库中存在, 则替换同名的模块,如若干模块中有一个模块在库中不存在,则ar显示一个 错误信息,并且不会替换其他同名模块
c 创建一个新的库。不管库是否存在,都将创建
s 创建目标文件索引,此参数在创建较大库时能加快时间。如果不需要创建索引, 可改写成S参数;如果.a文件缺少索引,可以使用ranlib命令来添加索引
格式:ar rcs xxx.a xxx.o
创建目录:
编写文件:由于此文件用的和Makefile编译方式博文中的文件相同,所以只拷贝到需要的目录下即可
各文件内容为:
calculate.h
calculate.c
Makefile
Makefile编译,静态库创建成功
执行make install命令,将静态库拷贝到另一个目录下
结合以上过程可知:静态库的一般创建步骤为:
生成目标文件(.o)→生成静态库(.a)
*单文件时直接使用命令gcc –c main.c –o main.o生成目标文件,然后使用命令ar rcs main.a main.o
*多文件时使用Makefile编译
静态库的调用:
使用gcc命令加上库文件即调用成功
gcc –o calculate main.c ./static/libcalculate.a
main.c
编译运行: