【发布时间】:2018-01-21 06:03:28
【问题描述】:
我想为第三方库中的 C 函数创建一个 Python 包装器,该库具有诸如
之类的签名int f(double* x);
函数f 修改输入参数x(即,使用指针通过引用调用)。实现 Python 包装函数的最有效方法是什么,以便 Python 用户可以将其视为每次只返回一个新数字的函数?示例伪代码:
# lib and ffi are imported from a compiled cffi.FFI() object
def python_f():
??? double x; ???
rc = lib.f(&x)
assert rc == 0
return x
我应该使用数组模块吗(例如,创建一个大小为 1 的“双”数组,将其传递给函数,然后返回第一个索引)?有没有更轻量级的方法使用 ctypes 或 cffi 辅助函数?
【问题讨论】:
标签: python python-cffi