命名规则
Linux:libxxx.a
lib :前缀(固定)
xxx:库的名字(自己起)
.a:后缀(固定)
静态库的制作
gcc 获得 .o 文件
将 .o 文件打包,使用ar工具
ar rcs libxxx.a xxx.o xxx.o
r- 将文件插入备存文件
c-建立备存文件
s-索引
案例
代码下载:阿里云盘分享
将文件中的calc和library加载到Linxu下的lession07目录
查看calc中有哪些文件
除了同文件和main.c文件外,把其他.c文件预处理成.o文件
使用ar命令将.o文件打包生成一个libcalc.a文件
把libcalc.a文件复制到calc目录下的lib
将main.c生成可执行文件,输入gcc main.c -o app
它会报一个错误,提示找不到头文件。原因我们在当前目录下是相对于main.c当前目录,但是当前目录下没有head.c这个头文件,这个时候就要用到 -I ./头文件目录
gcc main.c -o app -I ./include/
没有报找不到头文件的错误但是报了另一个错误未定义的引用,那是因为我们在main.c里面要用到libcalc.a的函数定义,但是当前路径下没有libcalc.a文件,需要用到 -l 库的名称再加上 -L./lib
gcc main.c -o app -I ./include/ -l calc -L ./lib
在library目录下生成一个app文件,我们执行这个文件