您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

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

带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中实质上是不朽的除非您尝试明确删除它们)。

python 2022/1/1 18:34:51 有496人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶