waffleman waffleman - 1 month ago 28
Python Question

How to parse a C header file?

Does anyone know a spiffy way to use C header files in Python? For example I have a C program that includes a global variable:

typedef struct ImageInfo
{
uint8_t revisionMajor;
uint8_t revisionMinor;
uint16_t checksum;

} ImageInfo;

ImageInfo gImageInfo; /* Placed at a specific address by the linker */


I would like to be able to take the binary generated by the C compiler/linker and parse this structure (and possibly modify it) with a Python script.

Answer

Have a look at this C++ header parser written in Python. You can also write your own parser using any of these tools: