作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我需要传递一个回调函数,它是 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(增量开发;-):
def py_cmp_func(a, b):
print "py_cmp_func", a, b
return 0
创建 C 可调用回调:
cmp_func = CMPFUNC(py_cmp_func)
关于python - 如何在 Python 中创建 CFuncType,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2729223/
我是一名优秀的程序员,十分优秀!