3

我的 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

4

1 回答 1

5

正如 DaveP 在评论中已经正确猜到的那样,restype一定不是类型列表。

PY_connect.restype = ctypes.POINTER(CONTEXT)

另请注意,参数类型由argtypes属性设置,而不是argtype.

于 2013-01-29T07:55:43.727 回答