将标志添加到 cffi 编译过程
add flags to cffi compile process
我使用 cffi 模块来包装一个简单的 c 代码。问题是,我需要添加一个标志以使其编译 (std=c99)。
目前我有类似的东西:
from cffi import FFI
ffibuilder = FFI()
with open("test.c", 'r') as f:
ffibuilder.set_source("mymodule", f.read())
with open("test.h", 'r') as f:
ffibuilder.cdef(f.read())
if __name__ == "__main__":
ffibuilder.compile(verbose=True)
问题是,cffi 自己调用 gcc,我想将 std=c99 添加到它调用 gcc 的标志中。
我缺少任何参数吗?
(注意:我可以更改 gcc 命令本身或 运行 gcc 命令 cffi 自己使用,我想知道我是否遗漏了一些正确的方法)
我终于找到了答案:
set_source
接受 extra_compile_args
参数:所以你可以调用:
ffibuilder.set_source(..., extra_compile_args=["-std=c99"])
我使用 cffi 模块来包装一个简单的 c 代码。问题是,我需要添加一个标志以使其编译 (std=c99)。 目前我有类似的东西:
from cffi import FFI
ffibuilder = FFI()
with open("test.c", 'r') as f:
ffibuilder.set_source("mymodule", f.read())
with open("test.h", 'r') as f:
ffibuilder.cdef(f.read())
if __name__ == "__main__":
ffibuilder.compile(verbose=True)
问题是,cffi 自己调用 gcc,我想将 std=c99 添加到它调用 gcc 的标志中。 我缺少任何参数吗?
(注意:我可以更改 gcc 命令本身或 运行 gcc 命令 cffi 自己使用,我想知道我是否遗漏了一些正确的方法)
我终于找到了答案:
set_source
接受 extra_compile_args
参数:所以你可以调用:
ffibuilder.set_source(..., extra_compile_args=["-std=c99"])