c中的doxygen:定义的分组

doxygen in c: grouping of defines

我正在用 doxygen 记录 C 代码。为了使文档更具可读性,我想至少将每个 .c/.h 文件对中的代码添加到使用 @defgroup 和 @ingroup 的一个组中。在这些组中,我想使用@name 块将一些定义组合在一起。

"file" 页面中的结果与我的预期非常接近:文件中记录的所有内容都列在那里,并且或多或少地很好地分组了。 另一方面,在 "module" 页面中只列出了函数和变量,第一个 @name 块之前的定义在 "variables" 下列出。缺少所有其他定义和枚举。 删除 @name 块会列出 "variables" 下的所有 defines/typedefs/enums。没有自己的宏或枚举部分,也没有在这些页面上进一步分组。

如何获取 module/group 页面上列出的组中的所有定义和枚举,就像记录 defines/functions 等的文件页面上一样?

我使用 doxygen 1.8.9.1 windows 二进制文件。

我的代码类似于: .h 文件:

/** @file
*   blabla
*   @author bla
*/
/// @ingroup MY_GRP
/// @{
#define SOMEDEF1 1
/// @name Special defs
/// @{
#define SOMEDEF2 2
/// @}
enum someenum {
foo,
bar
};

extern int some_variables;

extern void some_proc(int baz);

/// @}

.c 文件如下所示:

/** @file
 *  blabla
 *  @author bla
 */
/** @defgroup MY_GRP A test group.
  * Description
  */
/// @{
#include "my.h"

/// Important variable.
int some_variable;

/** Important proc
 *  Description
 *  @param baz need this
 */
void some_proc(int baz) {
// code
}

/// @}

我让doxygen wizzard生成了一个doxyfile,还生成了一个DoxygenLayout.xml文件。 在使用布局文件时,我发现组页面上的 "defines" 标签是空的(它们显然什么都不做),而变量部分中的 "defines" 是由 "membergroups" 标签生成的...不知道该怎么做。

非常感谢任何帮助。如果您需要 doxyfile 或其他任何东西,请告诉我。

Adding all members of a file to a group can be accomplished using the @addtogroup tag.

这里已经回答了同样的问题: Doxygen: Can file members inherit a module grouping if they are in a file that is grouped?