【发布时间】:2018-12-12 04:43:32
【问题描述】:
我正在为生成的 C 代码编写 Python 包装器,其中包含使用指针参数作为输出的函数。我想反省那些使用 CFFI 生成的函数,以确定它们是否是我们的输出参数的输入。输入参数标记为const,但似乎 CFFI 丢弃了此信息。
考虑以下示例
from cffi import FFI
ffibuilder = FFI()
ffibuilder.set_source("_example",
r"""
int add(const int a, const int b) {
return a+b;
}
""")
ffibuilder.cdef("""
int add(const int a, const int b);
""")
if __name__ == "__main__":
ffibuilder.compile(verbose=True)
import _example
ff = _example.lib.add
ff_t = _example.ffi.typeof(ff)
print(ff_t)
打印<ctype 'int(*)(int, int)'>,而输入在代码中定义const。
【问题讨论】:
标签: python python-cffi