我希望Doxygen记录用类C语言(PARI / GP)编写的代码,但语法略有不同。我相信Doxygen可以记录那些不存在的实体。当编程语言不支持Doxygen时,这似乎是最简单的工作方式。我想要这样的东西:
/*!
\fn foo(param,{option})
\brief some brief description here
\param[in](param) mandatory parameter description
\param[in](option) optional parameter description
*/
/*! \cond DOXYGEN_SHOULD_SKIP_THIS */
foo(param, {option}) =
{
...
};
addhelp(foo, "help message for `foo` function");
/*! \endcond */
不幸的是,Doxygen会生成警告"记录的符号' foo'未被宣布或定义"并且不会在输出HTML中列出foo
。有没有办法强制Doxygen只使用文档块而不是代码来生成正确的HTML?
答案 0 :(得分:3)
有各种选择
您可以编写一个输入过滤器,将您的代码转换为类似于C的内容,以便doxygen解析它(另请参阅FILTER_PATTERNS和EXTENSION_MAPPING)。
您可以使用函数原型创建一个虚拟C文件,并将其记录下来。如果您使用问题中提到的方法,可以将文档放在C文件或编程语言中。
如果您的语言支持C预处理器,您可以使用doxygen的C预处理器来隐藏doxygen的文件部分,即
#if DOXYGEN_ONLY
/**
\brief some brief description here
\param[in](param) mandatory parameter description
\param[in](option) optional parameter description
*/
void foo(param,option);
#endif
foo(param, {option}) { ... };
然后在配置文件中定义以下内容:
PREDEFINED = DOXYGEN_ONLY