Linux 动态库加载

动态库运行时搜索顺序

1.LD_PRELOAD

  LD_PRELOAD是一个环境变量,用于动态库加载,动态库加载的优先级最高;

 

2.-wl,-rpath

  编译目标代码时指定的动态库搜索路径(指的是用-wl,-rpath),readelf -d 命令可以查看编译的目标文件中rpath的路径;

  -L指定编译时的链接路径,-Wl,-rpath指定运行时链接路径;

  

3.LD_LIBRARY_PATH

  LD_LIBRARY_PATH是一个环境变量,该环境变量主要用于指定查找动态库时除了默认路径之外的其它路径;

export LD_LIBRARY_PATH=$(pwd)
./EXE    #EXE为执行文件  

LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH ./EXE

 

4.配置文件/etc/ld.so.conf中指定的动态库搜索路径

配置文件修改完成后,使用ldconfig命令会将/etc/ld.so.conf文件中所有路径下的库更新到内存中

 

5.默认动态库路径搜索路径:/lib

 

6.默认动态库路径搜索路径:/usr/lib

 

 

编译时查找库的搜索路径

1.编译时使用-L指定库的路径,通过环境变量LIBRARY_PATH指定搜索路径;

2.系统标准路径/lib /usr/lib /usr/local/lib;


转载于:https://www.cnblogs.com/coder-zyc/p/9564142.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值