#defines作为Cython中的无名枚举(嵌套在struct中)

时间:2014-01-27 10:16:44

标签: c macros struct enums cython

我从C标题中得到以下代码:

typedef struct
{     /* struct description */
      int type;               /* variable purpose: */
#define OPTION_A          1  /* option A */
#define OPTION_B          2  /* option B */
#define OPTION_C          3  /* option C */
} struct_name;

作为Cython,在pxd文件中,我想我应该把它写成(参见reference):

ctypedef struct struct_name: # struct description
    cdef enum purpose:
        OPTION_A = 1 # option A
        OPTION_B = 2 # option B
        OPTION_C = 3 # option C
    enum purpose type # variable purpose

但是,在C中,我想我也可以使用无名enum编写相同的代码

typedef struct
{     /* struct description */
      enum {
        OPTION_A          1  /* option A */
        OPTION_B          2  /* option B */
        OPTION_C          3  /* option C */
      } type;               /* variable purpose: */
} struct_name;

我的问题是我是否也可以在Cython中使用这种类型的模式,这样我就可以避免引入名为enum的{​​{1}}。

0 个答案:

没有答案