我已经搜索和搜索,但我还没有找到一个可以做我需要做的例子。
我发现
如何在 Python 中表示“枚举”?
在这里,但它不包括 ctypes.Structure。我还在 SO 上找到
了 Using enums in ctypes.Structure
here,但它包含了我不熟悉的指针。
我有一个包含 typedef 枚举的头文件,我需要在 Python 文件的 ctypes.Structure 中使用它。
C++头文件:
typedef enum {
ID_UNUSED,
ID_DEVICE_NAME,
ID_SCSI,
ID_DEVICE_NUM,
} id_type_et;
Python文件(我目前正在这样做的方式):
class IdTypeEt(ctypes.Structure):
_pack_ = 1
_fields_ = [ ("ID_UNUSED", ctypes.c_int32),
("ID_DEVICE_NAME", ctypes.c_char*64),
("ID_SCSI", ctypes.c_int32),
("ID_DEVICE_NUM", ctypes.c_int32) ]
任何建议将不胜感激。越简单越好。