静态库制作和使用

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

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

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

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

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):指定链接时需要的库,去掉前缀和后缀

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

打酱油的;

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值