Linux 基础编程 -- 静态库与动态库的制作和使用

本文介绍了Linux系统下静态库和动态库的制作过程,包括命名规则、制作步骤以及优缺点。对于静态库,讨论了如何打包源文件、发布和使用方法,以及其优点如无需提供库,加载速度快,但缺点是库改变可能导致程序需修改。动态库方面,阐述了生成动态库的步骤,动态链接器的作用,以及解决动态库链接失败的方法,如通过环境变量或配置文件设置动态库路径。动态库的优点在于执行程序体积小,更新影响小,但需要用户提供动态库且加载速度稍慢。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

静态库

命名规则:lib storehouse .a
libmytest.a(给要制作的静态库命名为mytest

制作步骤:

  • 将源文件生成对应.o文件
  • ar rcs libmytest.a所有.o文件(将.o文件打包)(ar是打包工具,rcs是打包相关参数,libmytest.a是静态库名,所有.o文件是静态库需要用到的源文件)

发布和使用静态库
将生成静态库和头文件发布
使用方法:
gcc main.c ./libmytest.a -o app(静态库的调用方法,main文件中需要使用到静态库中的函数)
gcc main.c -Ipath -L lib -l storehouse -o apppath头文件路径,lib为静态库目录路径,storehouse为静态库名字(掐头去尾))

静态库优缺点
nm libmytest.a(查看静态库libmytest.a里的内容)
n

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值