学习动态库

动态库制作

制作过程:

1.gcc -c -fpic xxx.c (得到和位置无关的代码)

2.gcc -shared xxx.o -o libxxx.so (得到动态库)

编译报错:

 

报错原因分析:只是放了动态库的信息进入可执行程序中,并没有加载到内存中,动态库的绝对路径没有放入下图中定位共享库文件过程中的任意一个位置(DT_RPATH段无法改变)

 解决方法:添加对应动态库的绝对路径

1.终端配置(临时的重新打开会消失) 在环境变量中添加

 2.用户级配置 在环境变量中添加

这句话和上面. .bashrc同理

bashrc中最后加入 后执行 在运行文件

 

 3.系统级配置 在环境变量中添加

同理填入

 最后

 4.配置/etc/ld.so.cache文件列表

先进去在更新

插入路径

5.将动态库文件放入/lib/或者/usr/lib目录中(不建议使用原因这里有很多系统自带的库文件,避免重名替代)

动态库优缺点

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值