为结构的成员记录宏(带有doxygen)

时间:2010-06-25 17:46:38

标签: c doxygen

我更喜欢在我的结构定义中定义某些宏,因此很容易看到给定成员的可能值。例如:

typedef struct foo_t {
    uint16_t flags;
        #define FOO_FLAG_BELL       0x0001
        #define FOO_FLAG_BOOK       0x0002
        #define FOO_FLAG_CANDLE     0x0004
        #define FOO_FLAG_LANTERN    0x0008
}

Doxygen想要在顶部列出那些宏,以及所有其他宏。我已经使用分组标记(//@{//@})将这些宏组合在一起,并使用foo_t.flags命名该组,但我想找到更多方法 - 将值与结构紧密关联。我应该使用\link\endlink以某种方式链接到该组名吗?

1 个答案:

答案 0 :(得分:5)

使用枚举。

typedef struct foo_t {
  enum flag_define { 
    FOO_FLAG_BELL    =  0x0001,    /**< The flag for the bell or whatever. */
    FOO_FLAG_BOOK    =  0x0002,
    FOO_FLAG_CANDLE  =  0x0004,
    FOO_FLAG_LANTERN =  0x0008,
  } flags:16;                      /**< My flag thing */
}  foo_t;
相关问题