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

How to use Doxygen to document local variables within C++ functions

本文关键字:局部变量 函数 C++ 何使用 Doxygen 记录      更新时间:2023-10-16

例如,在我的函数中

//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 记录此类局部变量?

我不知道有什么

方法可以做到这一点(我确实怀疑是否存在一种方法)。请记住,doxygen是用来记录类和函数头的,即接口。将文档视为其他程序员为了正确使用您的类和函数而学习的内容。您不应该使用 doxygen 来记录您的实现。但是,由于您是用 C(++) 编程的,因此在源代码中记录局部变量应该不是问题。只需给它一个正确的名称或将其记录在"源代码中":

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

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

虽然您可以将注释放在函数的主体中,并让它们显示为函数文档的一部分,如下所示

/** @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.