Doxygen:如何仅使用其文档块而不是代码来记录非C函数?

问题描述 投票:3回答:1

我希望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?

doxygen pari
1个回答
4
投票

有各种选择

  1. 您可以编写一个输入过滤器,将您的代码转换为类似C的东西,以便doxygen解析它(另请参阅FILTER_PATTERNSEXTENSION_MAPPING)。
  2. 您可以使用函数原型创建一个虚拟C文件,并将其记录下来。如果您使用问题中提到的方法,您可以将文档放在C文件或编程语言中。
  3. 如果您的语言支持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
© www.soinside.com 2019 - 2024. All rights reserved.