Doxygen —— 快来为你的代码自动生成一份专属说明文档

简介

Doxygen是一个能从带注释的源码中自动生成说明文档的标准工具,它支持众多流行的编程语言,包括C/C++、C#, PHP, Java, Python, IDL 等

Doxygen能够从以下三个方面进行工作:

  • 从一组源文件中生成HTML格式的在线文档和LETEX格式的离线文档,此外还提供了RTF(MS-Word)、PostScript、超链接 PDF、压缩 HTML 和 Unix等格式输出。

  • 从源码中提取代码结构,通过依赖关系图、继承图和协作图自动生成各种元素之间的关系图。

  • 为用户制作用户手册和网站

    Doxygen可以在Mac OS、Linux和Windows下工作,还可以在大多数其他Unix上运行。

安装

Ubuntu下可以直接从apt源进行安装

sudo apt-get install graphviz
sudo apt-get install doxygen
# 带gui的doxygen
sudo apt-get install doxygen-gui

使用

你可以使用特定的命令行来生成配置文件手动配置,也可以执行doxywizard在图形化界面中进行配置。在doxygen中,不同工具之间的关系图如下所示

从命令行生成

1. 创建配置文件
doxygen -g <config-file>
# 或(不含注释)
doxygen -s -g <config-file>

<config-file>为生成配置文件的名称,如果不输入则默认为Doxyfile,若已存在名为 <config-file>的文件,则会将原先的 <config-file>重命名为 <config-file>.bak。

2. 修改配置文件

这里列举出常用的配置选项,关于完整的配置选项说明,可以参考doxygen官网提供的Config-Docs

项目相关配置
  • DOXYFILE_ENCODING

    指定用于配置文件中所有字符的编码,默认为UTF-8。

  • PROJECT_NAME

    项目名称,默认为 My Project

  • OUTPUT_DIRECTORY

    标记用于指定将生成的文档写入的(相对或绝对)路径。如果输入了相对路径,则该路径将相对于 doxygen 的启动位置。如果留空,将使用当前目录。

  • OUTPUT_LANGUAGE

    标记用于指定编写 doxygen 生成的所有文档的语言。

构建相关配置
  • EXTRACT_ALL

    如果设置为 YES,则 doxygen 将假定文档中的所有实体都已记录,即使没有可用的文档也是如此。私有类成员和静态文件成员将被隐藏,除非EXTRACT_PRIVATE分别EXTRACT_STATIC标记设置为 YES.

  • EXTRACT_PRIVATE

    如果设置为 YES,则类的所有私有成员都将包含在文档中。

  • EXTRACT_STATIC

    如果设置为 YES,则文件的所有静态成员都将包含在文档中。

  • EXTRACT_LOCAL_CLASSES

    如果设置为 YES,则在源文件中本地定义的类(和结构)将包含在文档中。如果设置为 NO,则仅包括头文件中定义的类。

与输入文件相关配置
  • INPUT

    标记用于指定包含记录的源文件的文件和/或目录。

  • INPUT_ENCODING

    标记可用于指定 doxygen 解析的源文件的字符编码。

  • RECURSIVE

    指定是否也应搜索子目录以查找输入文件。

绘图相关配置
  • HAVE_DOT

    是否使用Graphviz图形可视化工具包

  • CALL_GRAPH

    为每个全局函数或类方法生成一个调用依赖图,启用此选项将显着增加运行时间。

  • CALLER_GRAPH

    为每个全局函数或类方法生成调用者依赖图,启用此选项将显着增加运行时间。

3. 运行doxygen
doxygen <config-file>

根据您的设置,doxygen 将在输出目录中创建 htmlrtflatexxmlman 和/或 docbook 目录。

从gui生成

终端键入doxywizard,打开图形化界面

doxywizard

配置相关选项,具体可以参考上一部分的选项说明

生成配置文档

查看文档

在html文档中找到index.html,打开即可查看你的专属在线文档!

后续

 喜欢的话可以关注一下我的公众号技术开发小圈,尤其是对深度学习以及计算机视觉有兴趣的朋友,我会把相关的源码以及更多资料发在上面,希望可以帮助到新入门的大家!
在这里插入图片描述

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在编写C++代码时,注释文档自动生成是一项非常有用的功能。可以通过使用特定的代码注释规范,如Doxygen或者JavaDoc,来生成注释文档Doxygen是一种流行的自动化文档生成工具,它可以根据代码中的特定注释格式来生成文档。在C++代码中,我们可以使用特定的注释语法来描述函数、类、变量等的用途、参数、返回值、示例等信息。例如,我们可以使用以下注释格式来描述一个函数: /** * @brief 该函数用于计算两个整数的和。 * * @param a 第一个整数 * @param b 第二个整数 * @return 两个整数的和 */ int sum(int a, int b) { return a + b; } 几乎所有的主要编程IDE(如Visual Studio、Eclipse等)都支持Doxygen注释的自动完成和文档预览。使用自动完成功能,我们可以快速生成函数、类、变量等的注释模板,并根据实际情况进行修改。当完成代码编写后,我们可以使用Doxygen生成注释文档。只需简单地运行Doxygen,并指定代码文件所在的目录,Doxygen将会扫描代码文件,并根据注释生成相应的HTML、PDF或其他格式的文档。 使用自动化注释文档生成的好处是,我们可以将注释与代码保持同步,并且文档的更新和维护变得更加容易。此外,还可以通过生成的文档提供给其他开发人员或用户查阅,使得代码更易于理解和使用。 总之,通过使用Doxygen等自动化文档生成工具,我们可以方便地生成C++代码的注释文档,提高代码可读性和可维护性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Rosen.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值