1

我有一个围绕内部库的 ctypes 包装器。正在使用的结构之一有一个名为“数据”的 POINTER(c_char) 类型的字段。这用于保存消息的有效负载(不一定是空终止字符串)。这个有效载荷总是有一个 8 字节的标头,我想跳过它。你如何在 Python 中使用 ctypes 做到这一点?

我的结构类(结构):
    _fields_ = [("len", c_size_t), ("data", POINTER(c_char))]

def my_cb_proc(msg):
    # 想跳过前 8 个字节——下面不行
    tmp = (POINTER(c_char)).from_address(addressof(msg.contents.data)+8)

    do_something(tmp)
4

0 回答 0