2016-12-22 5 views
1

Я использую модуль cffi для обертывания простого кода c. проблема в том, что мне нужно добавить флаг для его компиляции (std = c99). в настоящее время у меня есть что-то вроде этого:добавить флаги в процесс компиляции cffi

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 команду или запустить НКУ команда cffi использует сам, мне интересно, если мне не хватает какой-то правильный способ сделать это)

+0

вы должны опубликовать это как ответ на свой вопрос, то пометить его как решить. – Catskul

ответ

0

В конце концов я нашел ответ:

set_source принимает extra_compile_args аргумент: так что вы можете позвонить:

ffibuilder.set_source(..., extra_compile_args=["-std=c99"])

Смежные вопросы