Добавить флаги в процесс компиляции cffi
Я использую модуль 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, мне интересно, если я пропускаю какой-то правильный способ сделать это)
1 ответ
Решение
В конце концов я нашел ответ:
set_source
принимает extra_compile_args
аргумент: так что вы можете позвонить:
ffibuilder.set_source(..., extra_compile_args=["-std=c99"])