Doxygen是一种开源跨平台的,类似JavaDoc风格描述的文档系统,支持C、C++、Java、Objective-C等语言。可以从一套归档源文件开始,生成HTML,XML,pdf等不同风格的格式。

按照约定的格式注释源代码,用工具处理注释过的源代码产生文档,通过这种方式产生文档,有以下几个好处。

1. 便于代码和文档保持同步

2. 可以对文档做版本管理

使用方法

要使用Doxygen生成文档,主要有两件事

1. 一般用Doxywizard生成Doxyfile后,再手工修改或者通过向导进行修改。建议,一个项目使用单独的Doxyfile配置文件。

2. 按照Doxygen的约定,将代码文档化

3. 执行 doxygen Doxyfile

Doxygen统一采用UTF-8作为输出文件的编码格式。但微软的CHM编译工具(hhc.exe)不支持UTF-8,它支持GB2132

Doxygen的最新版本,可以从Doxygen的网站下载,我使用的是doxygen-1.8.7-setup.exe

Graphviz是一个图形可视化软件。Doxygen使用Graphviz生成各种图形,例如类的继承关系图、合作图,头文件包含关系图等。可以从Graphviz的网站下载Graphviz的最新版本。Doxygen使用了Graphviz的布局引擎dot,所以在文档中将其称作dot。

Mode页面

Output页面:

Diagrams页面:

Expert页面:

我们关心这个页面下的HTML生成选项:

Input页面:

编码相关

Doxygen涉及的东西很多,编码设置很重要,如果设置不当,生成的文档会乱码,因此,需要认真对待。

所有的高级编码设置都在Expert标签下面:

配置文件的格式是unix下通常的文件格式,注释以#开头,tag = value1 [,value2 ].

所有配置,按照功能,分为两类。

一是控制输入选项,控制如何解释源代码,

二是项目相关的信息,比如项目名称、源代码目录、输出文档目录等。

注释风格

头文件模板:
/** @brief 这里写你的摘要
*  @file 你的文件名
*  @author 谁tmd的搞的
*  @version 版本了
*  @date  你啥时候搞的
*  @note       注解. 例如: 本文件有什么具体功能啊,使用时要注意什么啊…..
*  @since    自从  例如: 自从2012年地球爆炸后这个文件就从地球上消失了…..
*/

函数的注释:
/**  这里写这个函数是干什么用的
@param[in]  输入参数1
@param[in]  输入参数2
@param[out]  输出参数1
@return    返回值解释一下
@warning 警告: 例如: 参数不能为空啊,内存要外部释放之类的费话
@note 注解 随便你了
@see                相当于是请参考xxoo函数之类的
*/

变量或者只有一行注解的东东,不超过一行的注释:
/**< 在这里写你要加的东西 */
OR
///< 在这里写你要加的东西

doxygen代码规范使用说明连接: http://blog.csdn.net/augusdi/article/details/6749845

文档生产工具 Doxygen的更多相关文章

  1. 使用Doxygen工具生成Cocos2D-x 2.1.0文档

    Doxygen是一种开源跨平台的工具,其功能是从程序源代码中抽取类.方法.成员的注释,形成一个和源代码配套的API(Application Programming Interface,应用程序编程接口 ...

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

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

  3. 安装doxygen(一个自动文档生成工具)+Graphviz图形可视化软件

    参考文章: http://www.fmddlmyy.cn/text21.html http://www.cnblogs.com/duguguiyu/archive/2008/06/29/1231852 ...

  4. 文档生成工具——Doxygen

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

  5. 编译OpenCV文档

    概述 使用OpenCV的过程中经常查看文档,每次都去官网查看,不过国内访问速度很慢,有一份本地的文档就好了.本文列出了在Linux(Fedora)系统上从OpenCV源码编译出documentatio ...

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

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

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

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

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

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

  9. 使用Doxygen生成net帮助文档

    一. 什么是Doxygen? Doxygen 是一个程序的文件产生工具,可将程序中的特定批注转换成为说明文件.通常我们在写程序时,或多或少都会写上批注,但是对于其它人而言,要直接探索程序里的批注,与打 ...

随机推荐

  1. 1039. Course List for Student (25)

    题目链接:http://www.patest.cn/contests/pat-a-practise/1039 题目: 1039. Course List for Student (25) 时间限制 2 ...

  2. apicloud+融云实现即时通讯

    请尊重作者的辛勤劳动!!! 使用apicloud开发已经快2个月了,起初的目的就是为了实现安卓和苹果的兼容,属于一个试验项目,究竟apicloud是否能够满足公司的要求?最 终看来还是不错的,使用ap ...

  3. Allegro批量复制Via并保持net属性

    使用Allegro时须要批量复制net属性是GND或是其他属性的Via: 批量选中Via后点击Copy或'Shift+F5' 然后完毕复制,如图: 复制完.我们可能发现,这些复制的Via的net属性不 ...

  4. 解决fedora64下vim不能语法着色问题

    初始状态是vim打开任何文件都没有高亮迹象,接不是彩色,也没有下划线,好了,看怎么一步步解决的... 1)#vim ~/.vimrc 竟然没有这个文件,创建之#touch vim ~/.vimrc 添 ...

  5. google maps api申请的问题

    现在已经改由统一的GOOGLE API控制台进行所有GOOGLE API的管理了. 方法是使用Google帐号登入 https://code.google.com/apis/console. 然后在所 ...

  6. Redis 键(key)

      Redis 键命令用于管理 redis 的键. 语法 Redis 键命令的基本语法如下: redis 127.0.0.1:6379> COMMAND KEY_NAME 实例 redis 12 ...

  7. C#轻型ORM框架PetaPoco试水

    近端时间从推酷app上了解到C#轻微型的ORM框架--PetaPoco.从github Dapper 开源项目可以看到PetaPoco排第四 以下是网友根据官方介绍翻译,这里贴出来. PetaPoco ...

  8. C# 之 Stream 和 byte[] 的相关转换

    1.二进制转换为图片 MemoryStream ms = new MemoryStream(bytes); ms.Position = ; Image img = Image.FromStream(m ...

  9. cocos2d-x调度器原理

    程序运行后每达到一帧的时间间隔就会执行一次mainLoop void CCDisplayLinkDirector::mainLoop(void) { //判断是否需要释放CCDirector,通常游戏 ...

  10. oracle pl/sql简介、块、过程

    pl/sql语言是oracle在sql上扩展的语言.1 过程.函数.触发器是在pl/sql编写2 过程.函数.触发器是在oracle中3 pl/sql的语句可以在java中直接调用 简单介绍 在sql ...