Python ctypes,返回指向结构的指针的函数
我的C代码返回一个指向该结构的指针,这就是我在Python ctypes,返回指向结构的指针的函数,python,ctypes,Python,Ctypes,我的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
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必须是类型、可调用或无
因为DaveP已经在注释中正确猜测到,restype
不能是类型列表
PY_connect.restype = ctypes.POINTER(CONTEXT)
还请注意,参数类型是由
argtypes
属性设置的,而不是argtype
,因为DaveP已经在注释中正确猜测,restype
不能是类型列表
PY_connect.restype = ctypes.POINTER(CONTEXT)
还要注意的是,参数类型是由
argtypes
属性设置的,而不是这里的argtype
纯粹猜测,但是我建议restype应该是一个普通类型,而不是您当前拥有的类型列表,而不是您当前拥有的类型列表。我得到的类型必须具有存储空间info@KonstantinosMonachopoulos也许您键入了指针
而不是指针
我得到的类型必须有存储空间info@KonstantinosMonachopoulos也许您键入的是指针
,而不是指针