按照doxygen手册中的示例,我构造了测试头test.h:
/**
* @file test.h
*/
/** @brief This is a struct
* @var foo A foo.
* @var bar Also a Foo.
* @var baz (unused field)
*/
typedef struct {
int foo;
int bar;
char *baz;
} whatsit;
Run Code Online (Sandbox Code Playgroud)
当我使用默认值Doxyfile(由'生成doxygen -g)时,会看到警告:
... test.h:11:警告:未记录复合whatsit
... test.h:7:警告:未定义记录符号`foo A Foo`
... test.h:12:警告:未记录whatsit类的成员foo(变量)
是什么赋予了?我从手册中得到的印象是,您不需要标记,例如@struct注释直接位于定义之前,并且在上面的块中记录成员var是合法的,而不是使用它们声明的相同行/*< ...句法。(我绝对讨厌后者的风格...)
我该如何正确识别评论?
根据文档:24.51 \ var(变量声明)
指示注释块包含变量或枚举值的文档(全局或作为类的成员)。此命令等效于\ fn,\ property和\ typedef。
指示在\ var行仅应保留变量名称。由于变量foo不存在,但结构成员whatsit::foo必须使用完全限定名称。
类似的结构推理。
结果应为:
/**
* @file test.h
*/
/** @struct whatsit
* This is a struct
*
* @var whatsit::foo
* A foo.
* @var whatsit::bar
* Also a Foo.
* @var whatsit::baz
* (unused field)
*/
typedef struct {
int foo;
int bar;
char *baz;
} whatsit;
Run Code Online (Sandbox Code Playgroud)