我使用dladdr获取该库的完整路径:

Dl_info dl_info;
int ret = dladdr((void*)&func, &dl_info);
if (ret)
            // use dl_info.dli_fname;


它工作正常。但是,如果我使用该版本重命名该文件夹(然后再次运行),则dli_fname不包含完整路径,仅包含库的文件名。这是为什么?

除了重命名构建文件夹(其他错误,主要与安装功能相关)之外,还有其他步骤,但是,该问题仅在重命名后才会出现(即,不是从构建文件夹运行应用程序)。

最佳答案

dl_info.dli_fname在android中不总是包含完整路径(
see here

在这种情况下,这是一种解决方法:
see my answer

关于linux - dladdr不返回dli_fname中的完整路径,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15502608/

10-13 02:54