如何从可执行elf文件中的名称获取函数或全局变量的地址? dlsym()可以获取动态库文件中的函数地址。但它不适用于可执行的elf文件。在解析ELF文件之前,我想检查是否有一个库为可执行的elf文件提供相同的功能?然后我可以从名称中获取函数或全局变量的地址。
答案 0 :(得分:1)
If you compile the executable file with -Wl,-E
(or it's various variants such as -export-dynamic
), then the linker will produce a dynamic section for the executable, and you can access its symbols with dlsym
and a NULL
handle, e.g., dlsym (NULL, "foo")
.