静态库制作和使用

静态库可以认为是一些目标代码的集合,是在可执行程序运行前就已经加入到执行码中,成为执行程序的一部分。

按照习惯,一般以“.a”做为文件后缀名。静态库的命名一般分为三个部分:

  • 前缀:lib
  • 库名称:自己定义即可
  • 后缀:.a

所以最终的静态库的名字应该为:libxxx.a

1) 静态库制作

静态库制作和使用_第1张图片

步骤1:将c源文件生成对应的.o文件

deng@itcast:~/test/3static_lib$ gcc -c add.c -o add.o
deng@itcast:~/test/3static_lib​$ gcc -c sub.c -o sub.o deng@itcast:~/test/3static_lib​$ gcc -c mul.c -o mul.o deng@itcast:~/test/3static_lib​$ gcc -c div.c -o div.o

步骤2:使用打包工具ar将准备好的.o文件打包为.a文件 libtest.a

deng@itcast:~/test/3static_lib$ ar -rcs libtest.a add.o sub.o mul.o div.o

在使用ar工具是时候需要添加参数:rcs

  • r更新
  • c创建
  • s建立索引

2)静态库使用

静态库制作完成之后,需要将.a文件和头文件一起发布给用户。要把库链接进文件

假设测试文件为main.c,静态库文件为libtest.a头文件为head.h

链接编译命令:为什么是test libtest.a去掉lib和.a就是库名,加不加空格都可以

deng@itcast:~/test/4static_test$ gcc test.c -L./ -I./ -l test -o test

参数说明:

    要做一般都放在相同目录

  • -L:表示要连接的库所在目录
  • -I./: I(大写i) 表示指定头文件的目录为当前目录
  • -l(小写L):指定链接时需要的库,去掉前缀和后缀静态库制作和使用_第2张图片

你可能感兴趣的:(linux文件系统编程,静态库,linux,C语言,制作,编译)