首页 > 系统相关 >linux 动态库加载优先级

linux 动态库加载优先级

时间:2022-12-19 16:44:43浏览次数:42  
标签:文件 LD 优先级 RPATH 路径 linux 环境变量 加载

在 Linux 系统中,动态库的加载优先级可以由多个因素决定,包括:

  • 1、LD_LIBRARY_PATH 环境变量:如果在环境变量 LD_LIBRARY_PATH 中指定了一个库文件的路径,那么在这个路径中找到的库文件将会被优先加载。

  • 2、程序的 RPATH 属性:如果程序在编译时设置了 RPATH 属性,则会优先搜索 RPATH 中指定的路径来加载库文件。

  • 3、系统的加载路径:在 /etc/ld.so.conf 文件中定义的路径,以及在 /etc/ld.so.conf.d 目录中的路径,都会被用来搜索库文件。

  • 4、系统的默认加载路径:在大多数 Linux 系统中,/lib 和 /usr/lib 目录都是默认的加载路径,因此如果在这些目录中找到了库文件,就会被加载。

注意,上述加载优先级是相对的,也就是说,如果在 LD_LIBRARY_PATH 中找到了库文件,则不会再搜索 RPATH 和其他路径。另外,如果在 RPATH 中找到了库文件,则不会再搜索其他路径。

最后,需要注意的是,LD_PRELOAD 环境变量也可以用来指定要优先加载的库文件。不同于 LD_LIBRARY_PATH 和RPATH,LD_PRELOAD 环境变量指定的库文件会在其他库文件之前被加载,这意味着它们会优先于其他库文件被调用。这可以用来覆盖系统默认的库文件,或者在程序运行时临时加载额外的库文件。

简而言之,Linux 系统中动态库的加载优先级按照以下顺序排列:

  • 1、LD_PRELOAD 环境变量指定的库文件
  • 2、程序的 RPATH 属性指定的库文件
  • 3、LD_LIBRARY_PATH 环境变量指定的库文件
  • 4、/etc/ld.so.conf 文件和 /etc/ld.so.conf.d 目录中指定的库文件
  • 5、/lib 和 /usr/lib 目录中的库文件

若这些信息对你有帮助,欢迎一键三连

标签:文件,LD,优先级,RPATH,路径,linux,环境变量,加载
From: https://www.cnblogs.com/bianchengyuan/p/16992528.html

相关文章

  • FreeRTOS 优先级翻转的问题
    说明:以前总是分不清楚什么是优先级翻转,怎么导致的优先级翻转,最近看来一篇文章,写的特别好所以分享过来,参考链接:(21条消息)FreeRTOS的学习(八)——3.优先级翻转问题_LEOD......
  • 为什么服务器系统用Linux?Linux有哪些优势?
    服务器的操作系统可以实现对计算机的管理和控制,任何计算机的运行都离不开操作系统,服务器也一样。服务器操作系统主要分为四大流派:windowsServer、Netware、Unix、linu......
  • 【redis-01】linux与windows的远程互连
    写在开头博主在用linux远程连接windows上的redis时遇到了一些问题,网络上能搜索到的回答跟自己的情况不太相符,索性就总结一下相关问题写篇随笔分享给同路人,也方便以后自己......
  • linux多线程随机数,随机数SecureRandom在Linux下阻塞
    https://blog.csdn.net/weixin_35973521/article/details/116813890-Djava.security.egd=file:/dev/./urandomhttps://blog.csdn.net/weixin_32159771/article/details/1......
  • 模块加载失败请确保该二进制存储在指定路径中
    好几次都遇到这个问题,今天终于忍受不了了,狠下心来终于找到这个问题的解决方法了!开始-所有程序-附件-命令行提示符上单击右键,以管理员身份运行,在DOS命令中输入regsvr32(......
  • Linux搭建FTP服务器
    这里写自定义目录标题​​Linux搭建FTP服务器​​​​简述​​​​一.安装服务器​​​​1.1.安装vsftp​​​​1.2.配置文件路径​​​​二.配置vsftp​​​​2.1.配置......
  • Linux的一些指令
    ls查看当前目录tail-flog的位置查看日志(展示最后几行,即更新了会打印出来)具体可查看https://blog.csdn.net/weixin_42230607/article/details/116578465cat打开文......
  • linux回炉第三天
    /etc/passwd/etc/shadow/etc/group/etc/gshadowchage-lwanguseradduseradd-Guseradd-guseradd-uuseradd-duseradd-suseradd-Museradd-cuseradd-ruseradd-D#......
  • kaliLinux使用——共享文件夹挂载
    1、创建共享目录:mkdir-p/mnt/hgfs/sharekali2、挂载:/usr/bin/vmhgfs-fuse.host:/sharekali/mnt/hgfs/sharekali-osubtype=vmhgfs-fuse,allow_other3、开机自动挂载......
  • 查看Linux服务器日志
    查看关键字前后5行的日志查看关键字前后5行的日志cat日志文件|grep-C5'关键字'查看带有行号的关键字前后5行日志cat-n日志文件|grep-C5'关键字'......