我正在尝试为共享库编写一个 python 接口。该库提供了标题,因此我希望能够将它们用作cdef
输入。
我意识到我需要在将标头加载到 CFFI 之前对其进行预处理。但是,库头文件的代码如下:
#define ONE 1
char something[250+ONE];
它来自预处理器 ( gcc -E
) 为
char something[250+1];
CFFI 抱怨 251 不是一个简单的数字常数(就解析而言,这是真的)。有没有办法让 GCC 在预处理器时评估这些整数常量?
(当然,我意识到我可以手动更改头文件,但我想看看我是否可以使用库附带的头文件)