【Linux】实现简单的静态库链接和动态库链接,二者区 别

这篇博客详细介绍了如何在Linux环境下创建静态库和动态库,包括创建过程和使用方法。对于静态库,通过编译.o文件并打包成.a文件,即使删除源库,已生成的可执行文件仍能运行。动态库则直接创建.so文件,并放入/usr/lib目录,使用-l选项链接。当动态库被删除,依赖它的可执行文件将无法运行。文章强调动态库和静态库都不能包含main函数,并指出在有冲突时,gcc默认选择动态库链接,静态库链接需指定-static选项,而ldd命令用于查看可执行文件的动态库依赖。
摘要由CSDN通过智能技术生成

练习静态库/动态库之前,先创建三个文件。
在这里插入图片描述
test.c文件:定义函数
在这里插入图片描述
test.h文件:声明函数
在这里插入图片描述
main.c:测试
在这里插入图片描述

静态库

生成一个库其实就是将所有的代码都打包起来–最终得到一个库文件。
静态库需要创建.o文件打包起来才能链接。

1.先创建test.o文件

在这里插入图片描述

2.将所有test.o文件(这里只有一个)打包成一个libtest.a文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值