Doxygen备忘

下载与安装

一般步骤

  • 生成配置文件Doxyfile: doxygen (-s) -g
  • 建立目录结构, 比如Doxyfile文件\doc文件夹(输出)\src文件夹(放代码) ->三者在同一目录下
  • 根据情况设置配置文件中的参数(关键)
  • 运行doxygen Doxyfile生成大概结构
  • 针对每个代码文件写doxygen注释
  • 继续运行doxygen Doxyfile

配置文件Doxyfile设置

DOXYFILE_ENCODING      = UTF-8
PROJECT_NAME = "Project Name"
PROJECT_NUMBER = 1.0
PROJECT_BRIEF = "This is a brief descript."
EXTRACT_ALL = YES
OUTPUT_DIRECTORY = "./doc"
OUTPUT_LANGUAGE = Chinese
FULL_PATH_NAMES = NO
WARN_LOGFILE ="./doc/build.log"
INPUT ="./src"
FILE_PATTERNS =
SOURCE_BROWSER = NO
GENERATE_LATEX = NO
CALL_GRAPH = YES
CALLER_GRAPH = YES
UML_LOOK = YES
RECURSIVE = YES

各种注释规范

文件注释

	/**
* Copyright (c) 2017, All rights reserverd.
*
* @file $file$
* @brief $brief$
* Details.
*
* @author $author$,$email$
* @date $yy$-$mm$-$dd$
* @version $maj$.$min$
*
*************************************************/

命名空间

	/**
* @brief $brief$
* Details.
**/

结构体\枚举

	/**
* @brief $brief$
* Details.
**/

类注释

	/**
* @brief $brief$
* Details.
**/

成员变量注释

  1. 在变量上面加

    /** 成员变量描述 */
  2. 在变量后面加

    /**<成员变量描述 */

函数注释

	/**
* @brief $brief$-$test$
* Details.
* @param $param1$ : $param1_detail$
* @param $param2$ : $param2_detail$
* @return $return_detail$
* -<em>false</em> fail
* -<em>true</em> succeed
* @retval $return_note$
* @deprecated $deprecated$
* @see $see$
* @pre $pre$
**/

备注:

  • note:指定函数注意项事或重要的注解指令操作符

    note格式如下:

    @note 简要说明

  • retval:指定函数返回值说明指令操作符。(注:更前面的return有点不同.这里是返回值说明)

    retval格式如下:

    @retval 返回值 简要说明

  • pre:指定函数前置条件指令操作符

    pre格式如下:

    @pre 简要说明

  • par:指定扩展性说明指令操作符讲。(它一般跟code、endcode一起使用 )

    par格式如下:

    @par 扩展名字

  • code、endcode:指定

    code、endcode格式如下:

    @code

    简要说明(内容)

    @endcode

  • see:指定参考信息。

    see格式如下:

    @see 简要参考内容

  • deprecated:指定函数过时指令操作符。

    deprecated格式如下:

    @deprecated 简要说明 

    调试Bug说明

    解决的bug说明,@bug

    警告说明 (warning)

    定义一些关于这个函数必须知道的事情,@warning

    备注说明 (remarks)

    定义一些关于这个函数的备注信息,@remarks

    将要完成的工作 (todo)

    说明哪些事情将在不久以后完成,@todo

    使用例子说明 (example)

    例子说明,@example example.cpp

关键字收集

@author          作者
@brief 摘要
@version 版本号
@date 日期
@file 文件名,可以默认为空,DoxyGen会自己加
@class 类名
@param 函数参数
@return 函数返回值描述
@exception 函数抛异常描述
@warning 函数使用中需要注意的地方
@remarks 备注
@see see also字段
@note brief下空一行后的内容表示详细描述,但也可以不空行用note表示
@par 开始一个段落,段落名称描述由你自己指定,比如可以写一段示例代码
@code 引用代码段
@endcode 引用代码段结束
@pre 函数前置条件,比如对输入参数的要求
@post 函数后置条件,比如对系统状态的影响或返回参数的结果预期 @param[in|out] 参数名及其解释
@exception 用来说明异常类及抛出条件
@return 对函数返回值做解释
@note 表示注解,暴露给源码阅读者的文档
@remark 表示评论,暴露给客户程序员的文档
@since 表示从那个版本起开始有了这个函数
@deprecated 引起不推荐使用的警告
@see 表示交叉参考

代码文档生成工具Doxygen的使用备忘的更多相关文章

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

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

  2. 文档生成工具doxygen+图像生成工具GraphViz

    文档生成工具doxygen+图像生成工具GraphViz 虽然jdk自带的javadoc也很好用,不过使用doxygen+GraphViz 的组合可以生成许多强大的图(类图.协作图.文件包含/被包含图 ...

  3. 文档生成工具——Doxygen

    参考: 1.https://blog.csdn.net/liao20081228/article/details/77322584 2.https://blog.csdn.net/wang150619 ...

  4. 推荐开源Api文档生成工具——Doxygen

    http://www.stack.nl/~dimitri/doxygen/index.html 非常的方便. 2步生成API文档. 具体信息见官网哟!

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

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

  6. 使用doxygen制作C代码文档

    使用doxygen制作C代码文档 C 代码注释风格约定 行间注释 /*! * * 这里是注释 * */ 行内注释 <code here> /*! 这里是注释 */ doxygen 风格的宏 ...

  7. (转)Doxygen文档生成工具

    http://blog.csdn.net/lostaway/article/details/6446786 Doxygen 是一个支持 C/C++,以及其它多种语言的跨平台文档生成工具.如同 Java ...

  8. 使用JSDoc自动生成代码文档

    译者按: 代码要有规范的注释,遵从jsDoc规则来注释可以生成有用的文档. 原文: Generate docs and host it with JSDoc and GitHub Pages 译者:  ...

  9. Doxygen自动文档生成工具在Eclipse中的集成及使用举例

    你有为软件编写说明文档的苦恼吗?当别人甩给你一个庞大的系统,让你根据里面的代码注释理解后写出一份完整的开发文档,你会怎么办?一个个的看代码 然后耗时N天来写吗?这既是一份苦差事也极其耗时,有没有更好的 ...

随机推荐

  1. JDBC四种驱动程序

    四种JDBC驱动程序 JDBC-ODBC桥驱动程序(JDBC-ODBC Bridge Driver) 此类驱动程序由JDBC-ODBC桥和一个ODBC驱动程序组成.其工作原理是,通过一段本地C代码将J ...

  2. 4. Go常量

    常量就是那些不可以改变的值 Go语言中定义常量的方式: const a = "admin" 则 a 就是一个常量,但实际上其后面的 "admin" 也是一个字符 ...

  3. 关于iOS刷新UI需要在主线程执行

    为什么一定要在主线程刷新UI? 安全+效率:因为UIKit框架不是线程安全的框架,当在多个线程进行UI操作,有可能出现资源抢夺,导致问题. 其实:在子线程是不能更新UI的, 看到能更新的结果只是个假象 ...

  4. centos 7.4安装zabbix 3

    1.安装前准备 1)关闭防火墙 systemctl status firewalld #查看防火墙状态 systemctl stop firewalld.service #停止firewall sys ...

  5. PHP+Mysql 实现数据库增删改查(原生)

    Mysql数据库创建 创建一个新闻列表的数据库: 1. 查询数据库 1.1. 创建文件dbconfig.php,保存常量 <?php define("HOST"," ...

  6. ArgumentOutOfRangeException: 指定的参数已超出有效值的范围。 参数名: site

    新装的win10系统,跑原来的asp.net 程序报错,原想着vs2017用iis express,不用配置iis了,貌似不行 在控制面板,程序,开启windows功能 勾选用到的asp.net版本, ...

  7. VBA读写ini 配置文件

    Option Explicit 'read Private Declare Function GetPrivateProfileString Lib "kernel32" Alia ...

  8. 有关ajax的理解;

    jQuery是JavaScript封装的一个库,里面封装了一些便于我们使用的方法,同时还有$.ajax()的一些理解需要我们更加深入了解 ajax简介: 实现后台与前台交互的功能或方法就叫做ajax: ...

  9. PCB设计基本流程

    [PCB设计基本流程]1.准备原理图和网络表2.电路板规划3.参数设置4.导入网标5.布局6.布线7.规则检查与手工调整8.输出文件 [具体步骤]1.在原理图环境下:Tool——>Footpri ...

  10. python 杨辉三角实现逻辑

    程序输出需要实现如下效果: [1] [1,1] [1,2,1] [1,3,3,1] ...... 方法:迭代,生成器 def triangles() L = [1] while True: yiled ...