【Linux系统编程学习】 静态库的制作与使用

此为牛客网Linux C++课程 1.4&1.5 的课程笔记。

0. 关于静态库与动态库

在这里插入图片描述
库就是封装好的、可服用的代码,而静态和动态是指链接。
这节课讲的是静态库,是指在链接阶段,会将汇编生成的目标文件.o与引用到的库一起链接打包到可执行文件中,所以称为静态链接。
静态库本质上是很多.o文件的集合,链接的时候这些.o文件与目标文件一起合成一个可执行文件。

1. 静态库命名规则

在这里插入图片描述

2. 静态库的制作

在这里插入图片描述
演示如下:
一个简易版计算器程序目录如下:
在这里插入图片描述
然后执行:

gcc -c add.c div.c mult.c sub.c

用gcc编译成目标文件

然后执行:

ar rcs libcalc.a add.o div.o mult.o sub.o

生成了名为libcalc.a的静态库文件。

3.静态库的使用

首先将刚才涉及到的文件整理一下:
在这里插入图片描述
此时编译main.c文件,执行:

gcc main.c -o app

报错,找不到头文件:
在这里插入图片描述
在实际开发中,制作好库以后,要把库文件和头文件都发给调用者。
此时需要用到上一节课学的gcc参数:
在这里插入图片描述
在这里插入图片描述
然后执行:

gcc main.c -o app -I ./include/

用-I参数在include里找头文件。

结果又报错:
在这里插入图片描述
找不到库文件,然后使用-L和-l指定库的路径和库的名称,执行:

gcc main.c -o app -I ./include/ -L ./lib -l calc

解释:-L ./lib表示搜索的库的路径,-l calc指定使用的库,这里要注意库的名称要填calc,而不是libcalc.a,指定库名称的时候去掉lib和后缀.a。

运行成功,生成可执行文件app,此后可执行./app执行文件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值