Добавить флаги в процесс компиляции 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"])

Другие вопросы по тегам