我正在尝试使用Doxygen记录一些使用 Microsoft 的Source-Code Annotation Language (SAL)的 C++ 代码。但是,Doxygen 不能_Success_
正确解析某些注释宏,例如 . 在示例函数注释的情况下,_Success_
Doxygen 将此宏误解为函数头/原型。
以以下包含函数注释标记的示例为例:
/**
* @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
不属于参数列表的参数变量:
C:/.../Source.cpp:9: 警告:在Success (return)的参数列表中找不到命令 @param 的参数 'i'
我是否缺少主Doxygen 配置文件中的配置设置?
还是SAL和Doxygen只是不兼容?