Linux应用开发 | 静态库

一、概念

在这里插入图片描述
linux系统中函数库在 /lib 、/usr/lib下面
在这里插入图片描述

二、测试

test.c
在这里插入图片描述
test.h
在这里插入图片描述

三、制作静态库

3.1 将c文件转换到汇编.o文件

在这里插入图片描述

3.2 执行ar -cr libxxx.a *.o

在这里插入图片描述
在这里插入图片描述
libtest.a就是制作的静态库
在这里插入图片描述
-t就是查看这个静态库所包含的.o文件

四、使用静态库

4.1编写main.c

包含test.h接口文件 (头文件)
在这里插入图片描述

4.2 编译

在这里插入图片描述
-L表示库的路径 点表示当前路径
-l表示使用的库名称 注意: 不能写成libtest.a
在这里插入图片描述

4.3 运行

在这里插入图片描述 可以正常运行 如果把libtest.a删掉 还是可以正常运行的 说明这个程序的运行不依赖于库文件 编译的时候已经把库编译进去了 静态库优点: 可移植性强 不依赖库文件 缺点:如果修改了库文件 必须要重新编译程序