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 に答える