Linux动态库(.so)搜索路径(目录)设置方法

众所周知,Linux动态库的默认搜索路径是/lib和/usr/lib。动态库被创建后,一般都复制到这两个目录中。当程序执行时需要某动态库,并且该动 态库还未加载到内存中,则系统会自动到这两个默认搜索路径中去查找相应的动态库文件,然后加载该文件到内存中,这样程序就可以使用该动态库中的函数,以及该动态库的其它资源了。在Linux 中,动态库的搜索路径除了默认的搜索路径外,还可以通过以下三种方法来指定。


Linux动态库(.so)搜索路径(目录)设置方法


方法一:在配置文件/etc/ld.so.conf中指定动态库搜索路径

步骤一:修改搜索路径,vi /etc/ld.so.conf 
步骤二:添加so文件到搜索路径 lib目录 下

步骤三:配置生效,ldconfig


方法二:通过环境变量LD_LIBRARY_PATH指定动态库搜索路径

命令行执行或者在启动脚本中执行如下命令

export LD_LIBRARY_PATH=”LD_LIBRARY_PATH:/opt/” 


方法三:在编译目标代码时指定该程序的动态库搜索路径

在编译目标代码时指定程序的动态库搜索路径。通过gcc 的参数”-Wl,-rpath,”指定。


参考资料

【1】How Libc shared library loaded in memory and shared amongst processes?

【2】Static, Shared Dynamic and Loadable Linux Libraries

【3】The inside story on shared libraries and dynamic loading



评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值