我正在尝试使用 Doxygen 来记录一些使用 Microsoft 的 源代码注释语言 (SAL) 的 C++ 代码。然而,Doxygen 无法正确解析某些注释宏,例如
请看以下包含 函数注释 标记的示例:
使用上面的示例,Doxygen将解释
还是SAL和Doxygen根本不兼容?
_Success_
。在示例的 函数注释 中,_Success_
被误解为函数头/原型。请看以下包含 函数注释 标记的示例:
/**
* @file
* Example with function annotation.
*/
#include <windows.h>
#include <sal.h>
/**
* @brief This is a function.
* @param i a random variable
* @return TRUE on every call.
*/
_Success_(return) // The SAL function annotation.
BOOL function(_In_ int i) {
return TRUE;
}
使用上面的示例,Doxygen将解释
_Success_()
作为函数头/原型,从而创建完全错误的文档。以下是带有和不带有函数注释的HTML Doxygen输出的外观:
使用函数注释,Doxygen也会指出我已经记录了一个参数变量i
,但它不是参数列表的一部分:
我是否在主Doxygen配置文件中缺少配置设置?C:/.../Source.cpp:9: 警告:命令@param的参数'i'在Success(返回)的参数列表中未找到
还是SAL和Doxygen根本不兼容?