我需要为 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 模式下是否有可能呢?