Doxygen 不会在具有属性的变量之后记录变量

Doxygen does not document variables after variable with attribute

我有一个 .c 文件,其中声明了几个变量。其中之一具有属性 __align(4),即声明为 __align(4) static uint32_t myVar;

当我为这个源文件创建 doxygen 文档时,它只列出了在 __align(4) static uint32_t myVar; 之前声明的变量(myVar 也没有包含在文档中)。

示例:

uint32_t var1;                     //documented by doxygen
static uint32_t var2;              //documented by doxygen
__align(4) static uint32_t myVar;  //NOT documented by doxygen
uint32_t var4;                     //NOT documented by doxygen

我怀疑 doxygen 看到 __align() 实际上是一个函数,然后停止寻找变量声明。

如何让 doxygen 列出我声明的所有变量?一个“hacky”的解决方案是在我的变量部分的底部声明对齐的变量,但对齐的变量仍然不会包含在文档中。

非常感谢任何帮助:)

问候

这个问题有很多地方需要注意。

所以完整的 Doxyfile 看起来像:

EXTRACT_STATIC=YES
PREDEFINED = __align(x)=
MACRO_EXPANSION = YES

和源代码:

/// \file

/** some docu */
uint32_t var1;                     //documented by doxygen
/** some docu */
static uint32_t var2;              //documented by doxygen
/** some docu */
__align(4) static uint32_t myVar;  //NOT documented by doxygen
/** some docu */
uint32_t var4;                     //NOT documented by doxygen

一切都按预期进行了记录。