有人知道在Python中使用C头文件的好方法吗?例如,我有一个C程序,它包含一个全局变量:
typedef struct ImageInfo
{
uint8_t revisionMajor;
uint8_t revisionMinor;
uint16_t checksum;
} ImageInfo;
ImageInfo gImageInfo; /* Placed at a specific address by the linker */
我希望能够获取C编译器/链接器生成的二进制文件,并使用Python脚本解析这个结构(可能还要修改它)。
Have a look at this C++ header parser written in Python。您还可以使用以下任何工具编写自己的解析器:
lepl
and a lot more。。。
看看pygccxml。我用它来构建我的C/C++源代码的内存图,我可以用它来作为许多代码生成任务的基础。
PS:当我第一次开始基于Python的代码生成时,我实际上试图自己编写一个解析器:省省痛苦,甚至不要去那里!(看起来你的已经结束了……)pygccxml是你想要的一切,而且更多:)
这是昨天提到的;我还没有机会更彻底地检查它,但我打算这样做。
pycparser
,一个“用Python编写的C解析器和AST生成器”。https://github.com/eliben/pycparser
相关问题 更多 >
编程相关推荐