使用.h文件中声明的C类型

时间:2016-10-16 10:01:42

标签: c cython typedef python-2.x

我想在我的.h文件中声明为.pyx的{​​{1}} C类型中使用:

typedef

我的简单解决方法是在我的* .pxd中重新声明它们(即将我//decls.h typedef double Doub typedef long int LInt //etc... 的块复制粘贴到我的.h替换.pxd - > {{ 1}})。 现在,我正在使用另一个typedef语句,其中包含大量ctypedef语句,所以我想要更多的" cythonic"宣告的方式。 我一直在阅读this,但没有帮助我。 也许是这样的事情?:

.h

1 个答案:

答案 0 :(得分:0)

如果唯一的区别是c中的typedef,则可以使用C预处理器将.h文件预处理为可由cython处理的文件。例如:

// a .c file:
#define CTYPEDEF typedef
#include "mytypes.h"

// the "mytypes.h" for cython preprocessing
#ifndef CTYPEDEF
# define CTYPEDEF ctypedef
#endif
CTYPEDEF ... myType;

在makefile或IDE中,制定规则以预处理.h文件,然后将输出包含在cython中。

如果存在更多差异,您可以采用相同的方式进行操作并将其视为示例。

相关问题