相关疑难解决方法(0)

动态加载时的库路径?

如何从库本身获取共享库的路径?

换句话说,假设库X是使用加载的dlopen(),我怎样才能访问用于从库本身加载所述库的路径?

请注意,我不能让首先加载库的代理程序提交给我这个参数.

更新:这是使用静态变量的方式:

std::string wdir;

namespace {
    class dynamic_library_load_unload_handler {
         public:
              dynamic_library_load_unload_handler(){
                    Dl_info dl_info;
                    dladdr((void *) NP_Initialize, &dl_info);

                    std::string path(dl_info.dli_fname);
                    wdir = path.substr( 0, path.find_last_of( '/' ) +1 );
              }
              ~dynamic_library_load_unload_handler(){
                    // Code to execute when the library is unloaded
              }
    } dynamic_library_load_unload_handler_hook;
}
Run Code Online (Sandbox Code Playgroud)

linux shared-libraries dlopen

13
推荐指数
1
解决办法
1万
查看次数

标签 统计

dlopen ×1

linux ×1

shared-libraries ×1