我更喜欢在我的结构定义中定义某些宏,因此很容易看到给定成员的可能值。例如:
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
以某种方式链接到该组名吗?
答案 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;