繁体   English   中英

Python ctypes,使用struct typedefs

[英]Python ctypes, working with struct typedefs

说我有以下C代码:

typedef struct _test test;

struct _test {
    test*    just_a_test;
    char*    just_a_char;
};

以下实施工作可行吗?

class test(Structure):
    _fields_ = [
        ('just_a_test', POINTER(test)),
        ('just_a_char', c_char_p),
    ]

我只是对结构中的第一个指针感到困惑。

您的代码无法使用,因为在引用test ,尚未创建该类。

这个确切的问题在15.17.1.16下的ctypes文档中描述 类型不完整

解决方案是创建类设置_fields_

class test(Structure):
    pass
test._fields_ = [
    ('just_a_test', POINTER(test)),
    ('just_a_char', c_char_p),
]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM