Linux编程下的LD_LIBRARY_PATH环境变量、Linux下管理共享库

    1.Linux系统会从LD_LIBRARY_PATH环境变量给定的路径去搜索shared libraries(共享动态库),如果你的.so文件所在的path没有加到LD_LIBRARY_PATH环境变量中,那么所有需要这个.so的程序无法运行。

    echo $LD_LIBRARY_PATH查看这个环境变量的值。

    Linux编程下的LD_LIBRARY_PATH环境变量是基于shell的,只有在当前设置的shell里才有用,打开新的shell要重新设置LD_LIBRARY_PATH环境变量。如何一劳永逸不再重新设置,方法是在~/.bash_profile文件中设置环境变量: export LD_LIBRARY_PATH=¥LD_LIBRARY_PATH:your_path


    2./etc/profile是系统的配置文件

    ~/.bash_profile或者~/.bashrc(centos系统)是用户自己的配置文件。

    source ~/.bashrc #使环境变量立即生效。


    3.在Linux中,共享库的寻找和加载是由/lib/ld.so实现的。ld.so在标准路径(/lib,/usr/lib)中寻找应用程序用到的共享库。但是如果用到的共享库在非标准路径下,ld.so如何找到它?

    通常做法是将非标准路径加入到/etc/ld.so.conf,然后运行Idconfig生成/etc/ld.so.cache。ls.so加载共享库的时候,会从ld.so.cache查找。

    实际上Linux系统也会从LD_LIBRARY_PATH环境变量给定的路径去搜索shared libraries(共享动态库),所以修改LD_LIBRARY_PATH环境变量也可以


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值