需要一个C结构解析器

vij*_*iji 5 php c python parsing dwarf

假设我有一个文件system.h,其中有以下结构

typedef struct Foo {
  int count;
  uint32 world;
  Temp id;
} Foo;

typedef struct Temp {
  uint64 id;
} Temp;

Foo bar;
Run Code Online (Sandbox Code Playgroud)

现在我需要一个类似 的宏,DUMP_STRUCT(bar)它递归地打印 bar (Foo 类型)的所有成员。

是否有任何解析器/脚本(最好是在 php/python 中)可以解析 C 文件或从可执行文件中获取 dwarf 的信息并创建类似于的函数DUMP_STRUCT

har*_*ald 2

似乎有libclang 的Python 绑定,它应该能够完成你想要的操作。还有pycparser项目。