带ctypes的回调(如何从C调用python函数)

带ctypes的回调(如何从C调用python函数),第1张

带ctypes的回调(如何从C调用python函数)
import ctypes as c@c.CFUNCTYPE(None, c.c_int, c.c_int)def callback(a, b):    print("foo has finished its job (%d, %d)" % (a.value, b.value))dll.foo(callback, a, b) # assuming a,b are ints

如果你需要

stdcall
调用约定,使用
WINFUNCTYPE
代替。

注意:如果

foo
可以存储稍后要调用的回调,则请确保Python回调处于活动状态(如果使用示例所示的装饰器在全局级别定义了该回调就足够了-
模块在Python中实质上是不朽的除非您尝试明确删除它们)。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5650088.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存