C/PythoncTypes共享对象内省库/技术

2024-04-19 19:00:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我在寻找一种方法来列出.text节定义的符号,该对象使用ctypes包装器加载到python程序中。换句话说,我正在尝试获取CDLL加载对象上定义函数的列表。在

如果无法使用ctypes或库(或python绑定)来实现这一点,那么另一个选项是python elf解析库或类似于http://halflifelibrary.com/wiki/Metamod-P的解决方案。在

有办法吗?在


Tags: 对象方法函数text程序comhttp列表
2条回答

仅供参考:由于没有关于对象结构的元信息,因此无法获取使用ctypes加载的共享对象上已定义方法的列表。在

如果您需要一个特定于平台的对象解析器,也许您应该看看http://projects.scipy.org/numpy/wiki/MicrosoftToolchainSupport使用objdump例程在文本部分获取定义的函数引用。在

我的选择是使用类似Hachoir或{a3}这样的ELF解析器库编写一个小型解析器,以便对对象进行反省。在

添加到您尝试使用的方法列表中,以获取由dll导出的函数列表。在

在:http://projects.scipy.org/numpy/wiki/MicrosoftToolchainSupport处有一个脚本,它转储dll的符号表,对其进行解析以获取公共表,并将该表输出到.def文件中。它还说,如果dll被剥离,这可能不起作用。在

我不确定Python中是否有好的ELF解析器。加上一些我发现的。在

相关问题 更多 >