[英]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.