【问题标题】:dlopen() search pathdlopen() 搜索路径
【发布时间】:2012-01-01 21:06:12
【问题描述】:

有没有办法以编程方式找出 dlopen() 在哪些路径中搜索共享对象?我一直认为 dlopen() 只会查看 /lib 和 /usr/lib 但现在我已经看到在 Linux Mint 上,像 libglib-2.0.so 这样的几个核心组件位于完全不同的文件夹中,即 /rofs/lib/ i386-gnu-linux 和其他一些。有没有办法了解 dlopen() 将搜索共享对象的所有这些路径?我已经检查了环境变量 LD_LIBRARY_PATH 但它根本没有定义。

【问题讨论】:

    标签: c linux dlopen


    【解决方案1】:

    查看ldconfig 手册页和文件:/etc/ld.so.conf

    【讨论】:

      【解决方案2】:

      除了ld.so.conf 提示:

      如果要确保特定库是 dlopen-ed,请将路径传递给 dlopen,例如dlopen("/some/path/to/lib.so", RTLD_LOCAL) 或者 dlopen("./lib.so", RTLD_LOCAL) 但不是 dlopen("lib.so", RTLD_LOCAL)

      如果在 Linux 上,请阅读 man 页面 dlopen(3)

      【讨论】:

        猜你喜欢
        • 2012-06-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-01-20
        • 2012-03-05
        • 2015-04-07
        • 2017-07-11
        • 2013-11-07
        相关资源
        最近更新 更多