【问题标题】:CFFI - Is Python callback for C code possible in ABI mode?CFFI - 在 ABI 模式下是否可以对 C 代码进行 Python 回调?
【发布时间】:2017-04-12 18:12:01
【问题描述】:

我需要为 C 代码提供回调。基本上,我需要这个来工作:

在 C 中:

typedef int callback_t(int i);
callback_t *callback = NULL;

在 Python 中:

from cffi import FFI

def py_callback(i):
    return 0

ffi_builder = FFI()
lib = ffi_builder.dlopen('foobar.so')
lib.callback = py_callback

@ffi_builder.def_extern() 添加到py_callback 会引发异常:ffi.def_extern() is only available on API-mode FFI objects

那么在 ABI 模式下有可能吗?

【问题讨论】:

    标签: python python-cffi


    【解决方案1】:

    是的,你需要old-style callbacks

    【讨论】:

      猜你喜欢
      • 2023-03-16
      • 2012-05-04
      • 1970-01-01
      • 2020-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多