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. CDH 安装 kafka

    前言 其实cloudera已经做了这个事了,只是把kafka的包和cdh的parcel包分离了,只要我们把分离开的kafka的服务描述jar包和服务parcel包下载了,就可以实现完美集成了. 具体实 ...

  2. 解决git中upstream丢失问题Your branch is based on 'origin/xxxx', but the upstream is gone.

    转自 https://blog.csdn.net/limengke123/article/details/77850134

  3. 学生管理系统(javaweb版)

    准备用javaweb 的技术做一个简单的学生管理系统 打算不用登陆的那种,直接进入管理界面. 完成增删改查的功能. 慢慢开始更新,先写那么多.

  4. Linux 进程同步和通信

    为了同步进程所以需要进程通信 管道(有名:文件形式存在,无名:仅限于父子进程间通信) 消息队列 信号量 共享存储 套接字(可用于不同机器)

  5. Heroku登录问题

    second_app 这一步还没有完成,登录接口维护.

  6. LinkedIn TAG

                 List1  [leetcode]243. Shortest Word Distance最短单词距离 Two Pointers [leetcode]244. Shortest ...

  7. php tp3.2生成二维码

    public function qrcode() { // 二维码链接 $href = 'http://' . $_SERVER['HTTP_HOST'] . '/?g=diapp&m=reg ...

  8. synchronized锁机制 之 代码块锁(转)

    synchronized同步代码块 用关键字synchronized声明方法在某些情况下是有弊端的,比如A线程调用同步方法执行一个较长时间的任务,那么B线程必须等待比较长的时间.这种情况下可以尝试使用 ...

  9. Python播放、关闭音乐代码

    1.安装pygame:win + r :打开控制台输入:pip install pygame 2.#导入 import time import pygame 3.设置音乐绝对路径 #音乐路径 file ...

  10. Rendering Problems Couldn't resolve resource @dimen/y20

    (转)文章转自 songzi1228 的 https://blog.csdn.net/songzi1228/article/details/80255058  本人亲自试用,妥妥的解决了我的问题. R ...