为共享库文件(* .so)生成头文件(* .h)

我有共享库文件( libmylib.so ),但没有头文件( mylib.h )。

你知道一些方法/工具从共享库文件生成这个头文件吗?

Solutions Collecting From Web of "为共享库文件(* .so)生成头文件(* .h)"

这通常是不可能的,因为.so文件没有包含足够的关于参数列表的信息 – 特别是如果使用非标准类型(例如结构体),因为类型信息不是.so文件的一部分。

即使只使用标准类型,参数列表也不是ELF符号表的一部分(参见http://refspecs.linuxbase.org/elf/elf.pdf 1-15ff)。

但是,如果库没有被剥离(=它包含调试信息),那么DWARF部分确实包含关于参数列表的信息,请参阅如何从elf文件中提取函数原型? 了解详情。