我的C代码返回一个指向结构的指针,这是我在python
class CONTEXT(ctypes.Structure):
_fields_ = [
("sockfd", ctypes.c_int),
("eidSeq", ctypes.c_longlong)
]
# API
# connect
PY_connect=NativeDll.gf_connect
# connect input and output parameter declaration
PY_connect.argtype = [
ctypes.c_char_p,
ctypes.c_char_p,
ctypes.POINTER(ctypes.c_int)
]
PY_connect.restype = [
ctypes.POINTER(CONTEXT)
]
但我收到了restype
TypeError: restype must be a type, a callable, or None
答案 0 :(得分:3)
正如DaveP已经在评论中正确猜到的那样,restype
不能是类型列表。
PY_connect.restype = ctypes.POINTER(CONTEXT)
另请注意,参数类型由argtypes
属性设置,而不是argtype
。