将C结构转换为ctypes.Structure的工具?

11 投票
1 回答
4863 浏览
提问于 2025-04-17 13:43

我在使用ctypes的时候,大部分时间都花在把C语言的结构体转换成ctypes.Structure上。如果遇到一些Windows的结构体,还得额外花时间把typedef的数据类型也转换一遍。这真的是个单调又无聊的过程。

有没有什么工具可以自动完成这个工作呢?我想象中是这样的:我把结构体和包含的头文件给它,它就能帮我生成ctypes.Structure。

1 个回答

4

我自己没有这方面的经验,不过这个ctypes代码生成器看起来很像你所需要的东西:

这个生成器可以把C语言头文件里的声明转换成可以执行的Python代码,包括枚举、结构体、联合体、函数声明、COM接口和预处理器定义。

你可以从这个svn仓库获取。需要注意的是,最后一次更新是在2009年,所以使用效果可能会有所不同。

撰写回答