我想在我的.h文件中声明为.pyx
的{{1}} C类型中使用:
typedef
我的简单解决方法是在我的* .pxd中重新声明它们(即将我//decls.h
typedef double Doub
typedef long int LInt
//etc...
的块复制粘贴到我的.h
替换.pxd
- > {{ 1}})。
现在,我正在使用另一个typedef
语句,其中包含大量ctypedef
语句,所以我想要更多的" cythonic"宣告的方式。
我一直在阅读this,但没有帮助我。
也许是这样的事情?:
.h
答案 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中。
如果存在更多差异,您可以采用相同的方式进行操作并将其视为示例。