Files
wiki/blog/C++源码生成文档-Doxygen.md
zoubing 52542e5da8 docs: add Qt安装和C++源码生成文档-Doxygen两篇博客及配套素材
新增Qt安装教程博客和配套的模块选择截图,同时新增C++源码生成Doxygen文档的完整教程,包含安装配置步骤、注释规范和所有演示截图
2026-06-07 21:42:06 +08:00

5.3 KiB
Raw Blame History

使用Doxygen实现C++代码注释自动生成开发手册

安装Graphviz软件

  1. 安装doxygen-1.9.3-setup.exe安装成功后运行 alt text 2.选择所有对象
  2. 选择代码所用到的语言 alt text
  3. 选择生成.chm格式的文档 alt text
  4. 选择使用GraphViz来生成类图 alt text
  5. 选择输出语言 alt text
  • CHM_FILE 最终生成的.chm的文件名默认为index.chm
  • HHC_LOCATION chm 编译器hhc.exe的全路径。请指到 HTML Help Workshop 的安装目录的 hhc.exe 程序
  • CHM_INDEX_ENCODING chm索引文件编码 alt text
  • EXTRACT_ALL 表示输出所有的函数但是private和static函数不属于其管制。
  • EXTRACT_PRIVATE 表示输出private函数。
  • EXTRACT_STATIC 表示输出static函数。
  • SHOW_INCLUDE_FILES 表示:是否显示包含文件,如果开启,帮助中会专门生成一个页面,里面包含所有包含文件的列表。
  • INLINE_INFO 如果开启那么在帮助文档中inline函数前面会有一个inline修饰词来标明。
  • SORT_MEMBER_DOCS :如果开启,那么在帮助文档列表显示的时候,函数名称会排序,否则按照解释的顺序显示。 alt text

INPUT_ENCODING 中文注释乱码解决方法 FILE_PATTERNS 生成帮助文档所需要文件后缀 可添加 可删除 RECURSIVE 选择递归的方式 alt text

显示类图 alt text

最后运行生成 alt text

Doxygen 注释规范

1.1 头文件模板:

/*! @brief 摘要

  • @file 文件名
  • @author 作者
  • @version 版本号
  • @date 你啥时候搞的
  • @note 注解
  • @since 从哪个版本后开始有这个函数的 */

1.2 函数的注释:

/*! 这里写这个函数是干什么用的 @param i1[in] 输入参数1 @param i2[in] 输入参数2 @param o3[out] 输出参数1 @return 返回值解释一下 @warning 警告: 例如: 参数不能为空 @note 注解 @see 相当于是请参考xxoo函数之类的 关于bool量返回值 @retval 1 成功 @retval 0 失败 */

###1.3 行注释模板 /**< 在这里写你要加的东西 */ ///< 在这里写你要加的东西 常用的关键字 @mainpage 项目工程概述 @author 作者的信息 @brief 用于class 或function的简易说明 eg@brief 本函数负责打印错误信息串 @bug 被标记的代码会在Bug列表中出现 @date 日期 @file 文件名可以默认为空DoxyGen会自己加 @param 主要用于函数说明中,后面接参数的名字,然后再接关于该参数的说明 @return 描述该函数的返回值情况eg: @return 本函数返回执行结果若成功则返回TRUE否则返回FLASE @retval 描述返回值类型 eg: @retval NULL 空字符串。@retval !NULL 非空字符串。 @note 注解 @attention 注意 @name 分组名 @warning 警告信息 @todo 对将要做的事情进行注释 @see see also字段 @relates 通常用做把非成员函数的注释文档包含在类的说明文档中。 @since 从哪个版本后开始有这个函数的 @code 在注释中开始说明一段代码,直到@endcode命令。 @endcode 在注释中代码段的结束。 @remarks 备注 @pre 用来说明代码项的前提条件。 @post 用来说明代码项之后的使用条件。 @deprecated 这个函数可能会在将来的版本中取消。 @defgroup 模块名 @{ 模块开始 @} 模块结束 @class 声明一个类 可对类进行详细描述 @version 版本号 @fn 声明一个函数 @par 开始一个段落,段落名称描述由你自己指定,比如可以写一段示例代码

  • 一级项目符号
  • 二级项目符号 \ref在注释中连接到函数 变量 类 @exception 可能产生的异常描述 eg: @exception 本函数执行可能会产生超出范围的异常 代码和帮助文档中显示的示例 在看到函数详细介绍之前的简易介绍 alt text alt text 枚举定义 枚举定义 枚举定义 需要将内容框选出来时使用 alt text alt text

行注释 alt text alt text 函数注释和一些链接 使用\ref时需要留出空格 alt text alt text 对当前类的一个详细概述 alt text alt text 对当前工程介绍 alt text alt text