在一些图书馆的研究中,我发现了这种代码
Dl_info info = {
NULL,
NULL,
NULL,
NULL
};
if (!dladdr((void*) dirSep, &info)) {
return libPath.c_str();
}
其中
dirSep
是该代码存在的类中的static const char*
成员(在come函数中),所以我的问题是:是否有任何地方记载了dladdr
函数能够获取信息表单static const member
字段? 最佳答案
不,dladdr
无法承诺或保证。它只能查看模块中的符号表。如果符号表包含符号,则可以将其提供给您。如果没有,那就没有。符号表中的符号取决于模块的编译方式,链接方式以及剥离方式和剥离方式。
一般来说,如果代码可以链接到它,则dladdr
应该找到它。
关于c++ - 剂量dladdr能够从静态成员获取信息?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21848606/