如何使用 Doxygen 记录C++函数中的局部变量
How to use Doxygen to document local variables within C++ functions
例如,在我的函数中
//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
.
相关文章:
- 局部变量保留函数中的值
- 如何使用 C++ 中的继承函数访问派生类中的局部变量
- 如何在函数外部访问函数中局部变量的值?
- 赋予全局变量而不是局部变量优先级的函数 - (异常行为)
- 获取具有静态局部变量的绑定/推断捕获 lambda 的函数指针
- 是否可以影响 C++ 中回调函数的局部变量?
- 将共享指针传递给函数参数 - 将其分配给局部变量的正确方法是什么
- 调用一个小函数两次(例如在if条件和主体中)比将结果存储在局部变量中更可取
- C++ - 指向函数中局部变量的指针
- 如何在 C++ 的 lambda 函数中传递同名的局部变量和参数(使用此关键字)?
- Clang++ 6.0 内存清理器未报告返回值指示条件分支的函数中的未初始化局部变量
- 如何将局部变量传递给 lambda 函数
- 局部变量的作用域是块或函数
- 函数原型未初始化的局部变量
- 尝试声明函数的局部变量,但得到范围错误
- 如果对象是通过 new 创建的,则成员函数的局部变量在哪里创建?
- 如果两个线程调用同一个函数,但函数中的所有变量都是局部变量,我还需要担心线程之间共享数据吗?
- 如果函数抛出的异常可能未捕获,如何销毁局部变量?
- 为什么不能在模板函数中向局部变量添加低级 const 类型
- 使用clang_complete自动完成局部变量/函数