生成.a静态库并使用
参考:https:///article/
-
- 什么是静态库
我们通常需要把一些公用函数制作成函数库,供其它程序使用,函数库分为静态库.a和动态库.so两种。
静态库在程序编译时会被链接到目标代码中,程序运行时不再需要该静态库。
动态库在程序编译时并不会被链接到目标代码中,而是在程序运行时才被载入。这样我们可以通过更改动态库,动态的改变程序的某些功能。
Linux下使用ar工具,将目标文件压缩到一起,并且对其进行编号和索引,以便于查找和检索。
- 生成.a静态库
将 生成一个 .a:
- 先将.c编译成 .o文件
无论静态库还是动态库都是由.o文件创建的。因此,我么必须将源代码通过gcc先编译成.o文件,在Linux系统终端下使用命令
gcc –c
2)用.o生成.a
静态库文件名的命令规范是以lib为前缀,紧接着是静态库名,扩展名为.a,例如我们将创建的静态库名为hello,则静态库文件名就是。在Linux系统下创建静态库需要使用ar命令,在终端输入以下命令:
ar -crv
- 使用.a静态库,三种方法
- gcc -o hello -L. –lmyhello
- gcc -o hello
- gcc -o hello
验证,删除.a库之后可执行文件还能正常运行即可!