如何使用Doxygen来记录C ++函数中的局部变量

时间:2013-01-24 18:41:48

标签: c++ documentation doxygen

例如,在我的函数中

//starting code with doxygen documentation
/** The main function. I will now try to document variables within this main function*/
int main()
{
 int arr[]; /** \brief an integer array*/
 .....
 return 0;
}
//end of code

但是,当我在配置文件中将“HIDE_IN_BODY_DOCS”变量设置为“NO”时使用Doxygen时,这不会为此局部变量执行特定的文档。相反,它只需要那个位并将其与函数文档一起打印,就像它是函数中的任何其他注释行一样

如何使用Doxygen记录此类局部变量?

2 个答案:

答案 0 :(得分:4)

我不知道如何做到这一点(我怀疑是否有办法)。请记住,doxygen用于记录类和函数头,即接口。将文档视为其他程序员研究的内容,以便正确使用您的类和函数。您不应该使用doxygen来记录您的实现。但是,当您使用C(++)编程时,在源代码中记录局部变量应该不是问题。只需给它一个正确的名称或“在源头”记录它:

Cat cats[]; // holds a bunch of cats

在您定义的语言中,您必须在函数的开头声明所有变量(Delphi,Pascal),但您需要的系统才有意义。

答案 1 :(得分:1)

虽然您可以将注释放在函数体中,然后将它们作为函数文档的一部分出现,如此

/** @file */

/** The main function. I will now try to document 
 *  variables within this main function.
 */
int main()
{
  /** an integer array. */
  int arr[];

  /** An endless loop */
  for (;;) {}

  return 0;
}

一般不建议这样做,正如其他人已经指出的那样。如果您希望(作为开发人员)阅读源代码以及文档,您可以更好地在正文中使用正常的C注释

/** @file */

/** The main function. I will now try to document 
 *  variables within this main function.
 */
int main()
{
  /* an integer array. */
  int arr[];

  /* An endless loop */
  for (;;) {}

  return 0;
}

INLINE_SOURCES设置为YES