如何在Cython中扩展宏

Pet*_*ham 4 cython

我有一个C头,它定义了一个宏中的函数.我需要从Cython中调用它.有没有办法在Cython中使用宏并让它完全扩展?我已经将参数作为C类型.

我已经尝试过使用cdef,就像我想要的一样,我认为,文档说的是什么.

gg3*_*349 5

你的意思是这样的吗?

#define SUM(a,b) (a) + (b)
Run Code Online (Sandbox Code Playgroud)

在这种情况下,将它声明为cdef extern from "lib.h"块中的函数,并指定它所采用并应返回的参数类型.请参阅文档.

  • 在C11中使用`_Generic`的类型泛型宏呢?Cython融合类型仅提供_Generic用途的非常有限的子集。 (2认同)