如何解析C头文件?

2024-04-20 14:34:15 发布

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

有人知道在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脚本解析这个结构(可能还要修改它)。


Tags: 方法程序头文件structatchecksumtypedef全局变量
3条回答

Have a look at this C++ header parser written in Python。您还可以使用以下任何工具编写自己的解析器:

看看pygccxml。我用它来构建我的C/C++源代码的内存图,我可以用它来作为许多代码生成任务的基础。

PS:当我第一次开始基于Python的代码生成时,我实际上试图自己编写一个解析器:省省痛苦,甚至不要去那里!(看起来你的已经结束了……)pygccxml是你想要的一切,而且更多:)

这是昨天提到的;我还没有机会更彻底地检查它,但我打算这样做。pycparser,一个“用Python编写的C解析器和AST生成器”。

https://github.com/eliben/pycparser

相关问题 更多 >