2024-09-24 12:32:29 发布
网友
我需要传递一个CFuncType(ctypes.CFuncType或ctypes.PYFUNCTYPE…)回调函数。
如何将python函数强制转换为CFuncType,或者如何在python中创建CFuncType函数。
我忘了ctypes有多棒:
下面是从http://docs.python.org/library/ctypes.html复制的
所以我们的回调函数接收指向整数的指针,并且必须返回一个整数。首先,我们创建回调函数的类型:
CMPFUNC = CFUNCTYPE(c_int, POINTER(c_int), POINTER(c_int))
对于回调函数的第一个实现,我们只需打印得到的参数,然后返回0(incremental development;-):
def py_cmp_func(a, b): print "py_cmp_func", a, b return 0
创建C可调用回调:
cmp_func = CMPFUNC(py_cmp_func)
我忘了ctypes有多棒:
下面是从http://docs.python.org/library/ctypes.html复制的
所以我们的回调函数接收指向整数的指针,并且必须返回一个整数。首先,我们创建回调函数的类型:
对于回调函数的第一个实现,我们只需打印得到的参数,然后返回0(incremental development;-):
创建C可调用回调:
相关问题 更多 >
编程相关推荐