0
は、私は次のCコードを持って言いますか?Pythonのctypesのは、構造体のtypedefでの作業
class test(Structure):
_fields_ = [
('just_a_test', POINTER(test)),
('just_a_char', c_char_p),
]
構造内の最初のポインタに関してちょっと混乱しています。
は、私は次のCコードを持って言いますか?Pythonのctypesのは、構造体のtypedefでの作業
class test(Structure):
_fields_ = [
('just_a_test', POINTER(test)),
('just_a_char', c_char_p),
]
構造内の最初のポインタに関してちょっと混乱しています。
test
を参照している時点でクラスがまだ作成されていないため、コードが機能しません。
15.17.1.16. Incomplete Typesの文書に記載されているこの正確な問題。
ソリューションは、クラスを作成した後_fields_
を設定することです:
class test(Structure):
pass
test._fields_ = [
('just_a_test', POINTER(test)),
('just_a_char', c_char_p),
]