Linux入门基础操作八(动态库的使用)

Linux入门基础操作(ubuntu20.04)(八)

动态库的创建与使用:

1)命名规则
lib+name+.so

2)制作步骤
gcc -fPIC -c xxx.c
:生成与位置无关的代码(生成与位置无关的.o文件)
gcc -shared -o libxxx.so xxx.o:将.o文件打包成动态库
3)发布和使用动态库

示例:
文档结构如下:(具体文件内容在上一篇
在这里插入图片描述
终端执行命令;
在这里插入图片描述

解决动态库链接失败问题:

动态库 not find
ldd +可执行程序:查看依赖共享库的名字
在这里插入图片描述
解决办法:
1)临时测试(关闭终端后失效)
创建文件夹lib,将动态库文件放入lib中,执行如下命令:
在这里插入图片描述
2)永久生效
cd
ls -a
vi .bashrc

末尾添加:export LD_LIBRARY_PATH=动态库绝对路径
3)永久生效
1.需要找到动态链接器的配置文件
cd
cd /etc/
vi ld.so.conf

2.将动态库的路径写到配置文件中(末尾)
3.更新配置文件
sudo ldconfig -v

动态库的优缺点:

优点:
(1)执行程序体积小
(2)动态库更新,不需要重新编译程序(前提是函数的接口不变)
缺点:
(1)发布程序的时候需将动态库提供给用户
(2)动态库没有被打包,加载速度相对较慢

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值