Linux静态库制作和使用

静态库制作和使用

概述

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

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

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

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

1) 静态库制作

在这里插入图片描述

静态库制作

#第一步:将源文件生成对应的目标文件
# 将.c源文件生成对应的.o文件
wuyou@itcast:~/share/2nd/2static_lib$ gcc -c add.c 
wuyou@itcast:~/share/2nd/2static_lib$ gcc -c sub.c 
wuyou@itcast:~/share/2nd/2static_lib$ gcc -c mul.c 
wuyou@itcast:~/share/2nd/2static_lib$ gcc -c div.c 
wuyou@itcast:~/share/2nd/2static_lib$ ls *.o 
add.o  div.o  mul.o  sub.o
wuyou@itcast:~/share/2nd/2static_lib$ 


#第二步:使用打包工具ar将准备好的.o文件打包为.a文件 libtest.a
#ar -rcs libtest.a add.o sub.o mul.o div.o
wuyou@itcast:~/share/2nd/2static_lib$ ar -rcs libtest.a add.o sub.o mul.o div.o
wuyou@itcast:~/share/2nd/2static_lib$ ls -l libtest.a 
-rw-rw-r-- 1 wuyou wuyou 5274 114 17:54 libtest.a
wuyou@itcast:~/share/2nd/2static_lib$ 

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

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

静态库使用

wuyou@itcast:~/share/2nd/3static_test$ gcc test.c -L./ -I./ -ltest -o test
wuyou@itcast:~/share/2nd/3static_test$ ./test  
x + y = 18
x - y = 12
x * y = 45
x / y = 5
wuyou@itcast:~/share/2nd/3static_test$ 

参数说明:

  • -L:表示要连接的库所在目录
  • -I./: I(大写i) 表示指定头文件的目录为当前目录
  • -l(小写L):指定链接时需要的库,去掉前缀和后缀 (libtest.a) test
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值