假设 nm 在库 utils 中报告了一个函数符号:
$ nm --defined-only utils.so
T function_symbol
是否可以确定该函数的签名(返回类型和参数)?或者至少是参数的数量和每个参数的大小?
最佳答案
可以从 DWARF 调试信息中获取此信息。但是,如果调试信息不可用(因为它已被删除或最初不是在编译期间生成的),则这是不可能的。 ELF 对象不包含此信息。
对于 C++ 函数符号,重整显示了函数参数的类型,但即使如此,函数结果的类型也丢失了,因此图片仍然不完整。
关于linux - 是否可以从库中获取函数的签名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54053491/