前言

规范的注释是一个良好的编程习惯。

Doxygen可以直接将注释提取为程序文档,便于开发人员使用

本文主要介绍了Doxygen的使用方法,更多细节请阅读官方文档


一、Doxygen是什么?

doxygen是一个文档生成工具,用于为源码生成文档,我们可以在代码中按照doxygen要求的语法编写代码注释,然后使用doxygen将程序中的注释提取出来生成一个文档

我们一般都把注释写在代码中,所以使用doxygen生成的文档也可以非常方便地更新。Doxygen还会在文档中引用源码文件,故我们也可以在文档中方便地查看源码

二、Doxygen的安装

1.windows

下载软件.软件安装过程基本无脑下一步

2.Linux

(1).使用命令安装

sudo apt-get install doxygen
sudo apt-get install doxygen-gui

(2).使用源码安装

下载压缩包:如doxyen-1.11.0.src.tar.gz

tar zxvf doxyen-1.11.0.src.tar.gz
cd doxyen-1.11.0
./configure
make
sudo make install

(3).安装Graphviz和HTML Help Workshop(可选)

Doxygen 使用HTML Help Workshop可以生成 CHM 格式的文档

Graphviz在Doxygen用于自动生成类图的工具。

官网:GraphvizHTML Help Workshop

注:记住安装路径,配置到Doxygen中

三、DoxygenHTML HELP的使用

1.配置Wizard



注:工作目录和源文件目录一般保持一致





2.配置Expert



3.运行

四、Doxygen语法

1.特殊命令

命令 字段名 语法
@file 文件名 file [< name >]
@brief 简介 brief
@author 作者 author
@mainpage 主页信息 mainpage [(title)]
@date 年-月-日 date
@author 版本号 version
@copyright 版权 copyright
@param 参数 param [(dir)] < parameter-name>
@return 返回 return { description of the return value }
@retval 返回值 retval
@bug 漏洞 bug
@details
细节 details
@pre 前提条件 pre { description of the precondition }
@post 说明代码项之后的使用条件
@see 参考 see
@link 连接(与@see类库,{@link www.google.com}) link < link-object>
@throw 异常描述 throw < exception-object>
@exception
对一个异常对象进行注释
@todo 待处理 todo
@warning 警告信息 warning
@example 弃用说明。可用于描述替代方案,预期寿命等 deprecated
@deprecated 弃用说明。可用于描述替代方案,预期寿命等 deprecated
@code 在注释中开始说明一段代码,直到@endcode命令
@endcode 注释中代码段的结束
@since 通常用来说明从什么版本、时间写此部分代码。
@attention 注意

2.注释风格

(1).文件注释

注:位于文件开头

/**
* @file 文件名
* @brief 简介
* @details 细节
* @author 作者
* @version 版本号
* @date 年-月-日
* @copyright 版权
*/

(2).函数注释

 /**
* @brief 函数描述
* @param 参数描述
* @return 返回描述
* @retval 返回值描述
*/

(3).常量/变量注释

一般常量/变量可以有两种形式:

  • 常量/变量上一行注释
  • 常量/变量后注释
``///定义一个变量
int a; int a; ///< 定义一个变量

Doxygen基本使用教程的更多相关文章

  1. 代码文档生成工具-Doxygen生成CHM和RTF图文教程

    Doxygen是一种开源跨平台的,以类似JavaDoc风格描述的文档系统,可以从一套归档源文件开始,生成chm格式的文档.本文主要讲解如何在winddows下安装doxygen.     1.下载do ...

  2. 用doxygen+graphviz自动化生成代码文档(附详细教程)

    一.引子 用这两个工具可以自动的遍历代码,并且产生代码文档,我们先来看看效果,然后放出这两个工具的下载地址. 二.工具的下载地址 doxygen:http://www.stack.nl/~dimitr ...

  3. Xcode4快速Doxygen文档注释 — 简明图文教程

    转自:http://blog.csdn.net/totogo2010/article/details/9100767 准备2个文件: 文件一,ThisService.app 文件二,Doxygen.r ...

  4. 使用Xcode HeaderDoc和Doxygen文档化你的Objective-C和Swift代码

    在一个应用的整个开发过程中涉及到了无数的步骤.其中一些是应用的说明,图片的创作,应用的实现,和实现过后的测试阶段.写代码可能组成了这个过程的绝大部分,因为正是它给了应用生命,但是这样还不够,与它同等重 ...

  5. Bullet的学习资源(用Doxygen生成API文档)

    Bullet 全称 Bullet Physics Library,是著名的开源物理引擎(可用于碰撞检测.刚体模拟.可变形体模拟),这里将bullet的学习资源整理一下,希望能帮助入门者少走弯路. 看下 ...

  6. KinectV1+Ubuntu 14.04安装教程

    前言      个人理解错误的地方还请不吝赐教,转载请标明出处,内容如有改动更新,请看原博:http://www.cnblogs.com/hitcm/      如有任何问题,feel free to ...

  7. 基于VirtualBox安装Ubuntu图文教程

    基于VirtualBox虚拟机安装Ubuntu图文教程 一. 下载安装VirtualBox 官网下载VirtualBox,目前版本:VirtualBox 5.1.8 for Windows hosts ...

  8. iOS:Tools:快速注释Doxygen

    Xcode5有个新特性就是自己定义的函数也会被检测集成到代码提示里面,也就是在Quick Help有提示.如 /** * @brief 设置id * * @param id 要设置的id */ +(v ...

  9. [C] c99int(让VC等编译器自动兼容C99的整数类型)V1.02。源码托管到github、添加CMake编译配置文件、使用doxygen规范注释

    新版本—— http://www.cnblogs.com/zyl910/p/zlstdint_v100.html[C] zlstdint(让VC.TC等编译器自动兼容C99的整数类型)V1.0.支持T ...

  10. 利用doxygen提高源代码阅读效率

    阅读开源项目的源代码是提高自己编程能力的好方法,而有一个好的源代码阅读工具无疑能够让你在阅读源代码时事半功倍.之前找过不少源代码阅读工具,像SourceInsight.sourcenav.scitoo ...

随机推荐

  1. Laravel11 从0开发 Swoole-Reverb 扩展包(一) - 扩展包开发

    前言 大家好呀,我是yangyang.好久没更新了,最近新项目在使用laravel11(截止目前发文,laravel12也发布了)做开发,自己也是利用有些空闲时间做些除开业务以外的深入学习,因此也就萌 ...

  2. MySQL 是否可以用 Docker 容器化?

    容器 容器是为了解决 "在切换运行环境时,如何保证软件能够正常运行",容器是轻量级应用代码包,它包含在任何环境中运行所需的所有元素的软件包.容器可以虚拟化操作系统,包含依赖项,例如 ...

  3. 编写你的第一个 Django 应用程序,第8部分

    本教程从教程 7 停止的地方开始.我们已经构建了我们的网络投票应用程序,现在将查看第三方软件包. Django 的优势之一是丰富的第三方软件包生态系统.它们是社区开发的包,可用于快速改进应用程序的功能 ...

  4. Typora中插入分页符

    博客地址:https://www.cnblogs.com/zylyehuo/ <div style="page-break-after:always"></div ...

  5. 堆排序(标准版)(NB)

    博客地址:https://www.cnblogs.com/zylyehuo/ # _*_coding:utf-8_*_ import random def sift(li, low, high): # ...

  6. vSphere虚拟化之ESXi的安装及部署

    vSphere虚拟化之ESXi的安装及部署一.什么是vSphere?vSphere是VNware公司在2001年基于云计算推出的一套企业级虚拟化解决方案.核心组件为ESXi.如今,经历了5个版本的改进 ...

  7. JDK8-日历类--java进阶day07

    JDK7和JDK8之间的时间API比较 1.日历类 1.LocalDateTime LocalDateTime最为齐全,只要掌握这个类,另外两个都是一样的 now方法获取到此刻时间,of方法设置想要的 ...

  8. 康谋分享 | 在基于场景的AD/ADAS验证过程中,识别挑战性场景!

    基于场景的验证是AD/ADAS(自动驾驶和高级驾驶辅助)系统开发过程中的重要步骤,它包括对自动化系统进行一系列预定义场景的测试.测试中包含的场景越多,尤其挑战性场景越多,人们对正在测试的AD/ADAS ...

  9. MySQL 中 AUTO_INCREMENT 列达到最大值时会发生什么?

    在MySQL中,AUTO_INCREMENT列用于自动生成唯一的数字值,通常用于主键.当AUTO_INCREMENT列达到最大值时,会发生以下几种情况,具体取决于列的数据类型以及MySQL的配置. 对 ...

  10. MySQL 中 DATETIME 和 TIMESTAMP 类型的区别是什么?

    在MySQL中,DATETIME和TIMESTAMP都是用于存储日期和时间的类型,但它们有一些关键的区别: 1. 存储方式和范围 DATETIME: 存储的日期和时间值是以"年-月-日 时: ...