【发布时间】:2017-06-02 11:08:09
【问题描述】:
我有一个包含多个文件的源代码。如何使用 c 程序从 elf 中提取文件和函数详细信息
【问题讨论】:
-
首先可执行文件根本不包含任何源代码。如果它没有附加任何调试信息,那么您甚至无法获得有关函数和源文件位置的信息。可执行文件或共享库中的代码只是一个或多个二进制 blob。
-
@Someprogrammerdude 我可以使用文件和函数指针以及类似于符号表的结构,以便我可以动态调用特定文件中的特定函数
-
@MartinSebastian 如果您可以将源代码编译到共享库中,那么查找函数并使用dlopen and dlsym 调用它们很容易。请参阅该手册页中的示例。