gpt4 book ai didi

python - 如何在 Python 中创建 CFuncType

转载 作者:太空狗 更新时间:2023-10-29 21:38:25 43 4
gpt4 key购买 nike

我需要传递一个回调函数,它是 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/

43 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com