c++类型结构示例:
Struct xyz {
uint64_t a;
uint32_t b;
uint16_t c;
bool d;
char e;
} var;
我可以在哪里使用var.a = 1; var.b = 2
,等等...
在这里,我有一个数组来初始化这个结构,比如获取一个 python 列表:
values = [0x64, 0x32, 0x16, true, 'a'];
我需要将此列表值映射到结构元素,以便可以使用 var.a 访问它,如果 print var.a 它应该打印 0x64
请建议如何以最有效的方式在 python 中实现整个场景。我已经实现如下:
Class xyz(Structure):
__field__ [
(a, c_uint64, 64),
(b, c_uint32, 32),
(c, c_uint16, 16),
(d, c_bool),
(e, c_char)
]
def __init__(self, p, q, r, s, t):
self.a = p
self.b = q
self.c = r
self.d = s
self.e = t
obj = xyz(10, 11, 12, True, 'R')
它工作正常,无论这是正确的用法还是有更好的选择。这也给了我对 bi 字段的特权,可能是我需要 14 位的 int 的情况。