doxygen参考

合集下载

doxygen 参数类型

doxygen 参数类型

doxygen 参数类型摘要:1.Doxygen 简介2.Doxygen 参数类型概述3.Doxygen 参数类型的分类4.常见Doxygen 参数类型介绍5.Doxygen 参数类型的使用示例6.总结正文:【1.Doxygen 简介】Doxygen 是一个用于从源代码中生成文档的工具,特别适用于C、C++ 和Java 等编程语言。

它可以自动提取代码中的类、函数、变量等信息,并生成结构清晰、易于理解的文档。

在编写项目文档时,利用Doxygen 可以大大提高效率。

【2.Doxygen 参数类型概述】Doxygen 参数类型指的是在生成文档过程中,Doxygen 可以识别的变量、函数、类等元素的类型。

通过指定不同的参数类型,可以控制Doxygen 如何处理这些元素,以及在生成的文档中如何呈现。

【3.Doxygen 参数类型的分类】Doxygen 参数类型主要分为以下几类:- 变量类型(如:int、float、double 等)- 函数类型(如:void、int、void 等)- 类类型(如:class、struct 等)- 枚举类型(如:enum 等)- 宏类型(如:#define、#ifdef 等)【4.常见Doxygen 参数类型介绍】以下是一些常见的Doxygen 参数类型及其介绍:- `int`: 整型变量或函数返回值类型- `float`: 浮点型变量或函数返回值类型- `double`: 双精度浮点型变量或函数返回值类型- `void`: 函数无返回值类型,或表示某个变量没有值- `char`: 字符型变量或函数返回值类型- `const`: 常量类型,表示不可修改的变量或函数参数- `volatile`: 表示变量的值可能会被其他线程修改- `static`: 表示静态变量或函数,仅在定义它的源文件中有效- `class`: 表示一个类,包含类的成员变量和成员函数- `struct`: 表示一个结构体,包含结构体的成员变量和成员函数- `enum`: 表示一个枚举类型,包含一组有名字的常量- `#define`: 表示一个预处理器宏,用于定义常量或条件编译- `#ifdef`: 表示一个预处理器指令,用于检查某个宏是否已定义【5.Doxygen 参数类型的使用示例】以下是一个简单的Doxygen 参数类型使用示例:```c++/*** @file example.cpp* @brief 示例文件*//*** @class Example* @brief 示例类*/class Example {public:/*** @brief 示例类的构造函数*/Example();/*** @brief 示例类的析构函数*/~Example();/*** @brief 示例类的成员函数* @param int value 传入的整数值* @return int 返回的整数值*/int add(int value);};Example::Example() {/*** @brief 示例类的构造函数实现*/}Example::~Example() {/*** @brief 示例类的析构函数实现*/}int Example::add(int value) {/*** @brief 示例类的成员函数实现* @return int 返回的整数值*/return value + 1;}```在上述示例中,`Example` 类是一个示例类,包含一个构造函数、一个析构函数和一个成员函数。

doxygen注释规范

doxygen注释规范

doxygen注释规范
doxygen注释规范是专为注释编写的一种文档格式,用于记录代码标识符、模块、类、函数和变量的解释和说明。

它被广泛应用于编程文档,主要用于帮助阅读者了解代码的功能和实现细节。

编写doxygen注释时,首先需要在代码的开头添加一个特殊的文档注释块,它定义了一个开始和结束标记,以及描述文档的元素。

在描述文档的元素中,常用的有函数描述、类描述、参数描述和返回值描述等。

doxygen注释规范要求注释的格式要紧扣文档的语义,例如函数的功能和参数,而且要尽可能详细地描述出来,使阅读者更加清楚地了解相应的功能。

其次,注释也要简明扼要,不能太长,需要尽量用精确的语言描述出来,使得同时可以有效地快速的实现。

此外,doxygen注释还要求写入标签(Tag),这些标签不仅可以丰富文档的内容,而且还可以有效地表明代码在文档中的引用关系,从而能够更好地跟踪和管理代码,避免出现不必要的影响。

总而言之,doxygen注释规范是使用doxygen进行文档编写时必须遵守的规定,它要求以描述性文字记录函数、参数等信息,并加入标签,以提供更好的文档参考环境。

尽管如此,doxygen注释规范仍然是一种有效的文档编写和查看工具,受到了许多程序员的青睐。

C++ doxygen讲解

C++ doxygen讲解
●变量、宏定义、类型定义。
●枚举类型定义、结构体类型定义类似。
●函数定义。 ●模块定义(单独显示一页
)。 ●分组定义(在一页内分组显示)。
变量、宏定义、类型定义简要说明
变量、宏定义、类型定义注释风格类似。 格式: /** 简要说明文字 */ 变量(宏定义或类型定义)
如: /** 简要说明文字 */ #define FLOAT float
pre 指令操作符讲解
pre:指定函数前置条件指令操作符 pre格式如下: @pre 简要说明
例: /** *文件关闭函数 * @param file文件编号。 * @retval 0 表示成功 * @retval -1 表示失败 * @pre file 变量必须使用OpenFile 返回值 */ int CloseFile(int file);
retval指令操作符讲解
retval:指定函数返回值说明指令操作符。(注:更前面的return有点不同.这里是返回值说明) retval格式如下: @retval 返回值 简要说明 例:
/** *文件关闭函数 * @param file文件编号。 * @retval 0 表示成功 * @retval -1 表示失败 */ int CloseFile(int file);
“\n”作用是回车换行.
注:不文档化局部变量,只文档化全局变量。
枚举类型定义、结构体类型定义
枚举类型定义、结构体类型定义注释风格类似。 格式:
/** 简要说明文字 */ typedef 类型 结构体名字 { 成员1, /**< 简要说明文字 */ 成员2, /**< 简要说明文字 */ 成员3, /**< 简要说明文字 */ }结构体别名;
see指令操作符讲解

doxygen注释详解-附有生成文档的对照

doxygen注释详解-附有生成文档的对照

retval指令操作符讲解
retval:指定函数返回值说明指令操作符。(注:更前面的return有点不同.这里是返回值说明) retval格式如下: @retval 返回值 简要说明 例:
/** *文件关闭函数 * @param file文件编号。 * @retval 0 表示成功 * @retval -1 表示失败 */ int CloseFile(int file);
专家(Expert)模式

专家(Expert)对话框----Input相关选项
指定输入源文件目录(INPUT). 输入文件编码(INPUT_ENCODING)改 为GBK.
对文件过滤选项,我们这里只填*.c *.h.
专家(Expert)模式

专家(Expert)对话框----Messages相关选项
note 指令操作符讲解
note:指定函数注意项事或重要的注解指令操作符。
note格式如下: @note 简要说明
例: /** *打开文件函数 *@Param [in] name 文件名 *@Param [in] “rb” 打开模式 *@return 返回文件编号 *- -1表示打开文件失败 *@note 文件打开成功后,必须使用 CloseFile 函数关闭 */ int OpenFile(U8* file_name, U8* file_mode);
Doxygen详解 目录

使用Doxygen的目的. 安装Doxygen所需工具. 配置Doxygen Doxygen注释风格
使用Doxygen的目的
生成模块文档,方便以后维护模块代码。 提高代码可读性。 提高项目代码的管理。 省略了自己写readme文件(或文档)。

doxygen源码编译

doxygen源码编译

doxygen源码编译摘要:1.Doxygen 简介2.Doxygen 源码编译步骤3.Doxygen 源码编译实例4.Doxygen 源码编译注意事项正文:【Doxygen 简介】Doxygen 是一个用于生成API 文档的工具,它可以从C、C++、Java 等源代码文件中提取函数、类、变量等信息,并生成HTML 格式的文档。

Doxygen 支持多种编程语言,具有用户友好的界面,可以方便地为开发者提供详细的API 参考。

【Doxygen 源码编译步骤】1.下载Doxygen 源码:访问Doxygen 官网(https://www.doxygen.nl/)下载最新版本的Doxygen 源码。

2.解压:将下载的压缩文件解压到一个目录下,例如:/usr/local/doxygen。

3.配置编译环境:检查Doxygen 依赖的库,并确保它们在您的系统中已安装。

对于C++编译器,推荐使用g++。

4.编译Doxygen 源码:在解压后的目录下,打开终端,执行以下命令进行编译:```make```5.安装Doxygen:编译成功后,在解压后的目录下执行以下命令安装Doxygen:```sudo make install```【Doxygen 源码编译实例】假设我们已经完成了Doxygen 源码的编译,现在我们以一个简单的C 语言示例来演示如何使用Doxygen 生成API 文档。

1.创建一个C 源文件:`example.c`,内容如下:```c#include <stdio.h>int add(int a, int b) {return a + b;}int subtract(int a, int b) {return a - b;}```2.使用Doxygen 生成文档:在终端中切换到包含`example.c`的目录,执行以下命令:```doxygen example.c```3.查看生成的文档:Doxygen 会生成一个名为`out`的目录,其中有HTML 格式的文档。

doxygen标准VC注释_完整的配置步骤

doxygen标准VC注释_完整的配置步骤

C++ 程序文档生成器介绍(doxygen)程序文档,曾经是程序员的一个头痛问题。

写一个程序文档,比较花时间,但不是很难;麻烦的是当程序修改后,程序文档也要跟着同步更新,否则文档和程序就要脱节,文档也就变成没用的东西了。

好在有许多好用的文档生成器来解决这个问题。

目前比较流行的C++文档生成器是doxygen。

本文就简单的介绍一下doxygen的文档注释方法,以供初学者参考:1. 模块定义(单独显示一页)/** @defgroup 模块名模块的说明文字* @{*/... 定义的内容 .../** @} */ // 模块结尾2. 分组定义(在一页内分组显示)/** @name 分组说明文字* @{*/... 定义的内容 .../** @} */3. 变量、宏定义、类型定义简要说明/** 简要说明文字 */#define FLOAT float/** @brief 简要说明文字(在前面加 @brief 是标准格式) */#define MIN_UINT 0/** 分行的简要说明 \n* 这是第二行的简要说明*/int b;4. 函数说明/** 简要的函数说明文字* @param [in] param1 参数1说明* @param [out] param2 参数2说明* @return 返回值说明*/int func(int param1, int param2);/** 打开文件 \n* 文件打开成功后,必须使用 ::CloseFile 函数关闭。

* @param[in] file_name 文件名字符串* @param[in] file_mode 文件打开模式字符串,可以由以下几个模块组合而成:* - r 读取* - w 可写* - a 添加* - t 文本模式(不能与 b 联用)* - b 二进制模式(不能与 t 联用)* @return 返回文件编号* - -1 表示打开文件失败* @note 文件打开成功后,必须使用 ::CloseFile 函数关闭* @par 示例:* @code// 用文本只读方式打开文件int f = OpenFile("d:\\test.txt", "rt");* @endcode* @see ::ReadFile ::WriteFile ::CloseFile* @deprecated 由于特殊的原因,这个函数可能会在将来的版本中取消。

文档生成工具——Doxygen

文档生成工具——Doxygen

⽂档⽣成⼯具——Doxygen参考: 版权声明:本⽂章转载⾃Jhuster的。

未经作者允许,严禁⽤于商业出版,否则追究法律责任。

⽹络转载请注明出处,这是对原创者的起码的尊重1 简介 为代码写注释⼀直是⼤多数程序员有些困扰的事情。

更头痛的是写⽂档,以及维护⽂档的问题,⽽doxygen就能把遵守某种格式的注释⾃动转化为对应的⽂档。

Doxygen是基于GPL的开源项⽬,是⼀个⾮常优秀的⽂档系统,当前⽀持在⼤多数unix(包括linux),windows家族,Mac系统上运⾏,完全⽀持C++, C, Java, IDL(Corba和Microsoft 家族)语⾔,部分⽀持PHP和C#语⾔,输出格式包括HTML、latex、RTF、ps、PDF、压缩的HTML和unix manpage。

有很多开源项⽬(如log4cpp和CppUnit)都使⽤了doxygen⽂档系统。

2 Doxygen配置⽂件2.1 ⽣成Doxygen配置⽂件 运⾏Doxywizard创建配置⽂件。

可以直接点“Save…”按钮,将保存默认的配置⽂件,名为Doxyfile,内容是Doxygen的默认设置。

Doxyfile是普通⽂本⽂件,可以直接打开⼿动编辑。

不过在Doxywizard的界⾯上填写也很⽅便,每个参数都有详细提⽰。

建议⽤Doxywizard 完成第⼀次设置。

以后如果需要调整个别参数,可以直接编Doxyfile。

上述Doxywizard界⾯中提供了⽣成Doxygen⽂档的4个步骤,按照上述步骤⼀步步执⾏就可以⽣成漂亮的⽂档了。

第⼀步是⽣成配置⽂件,提供三种⽅式:Wizard⽅式指简约⽅式,在其中只提供⼀些重要的参数设置,其余的均为默认值;Expert⽅式为详细设置⽅式,通过该选项可以详细地配置Doxygen的各个配置项;Load⽅式,⽤于导⼊以前⽣成的Doxygen配置⽂件,导⼊后可以再点击Expert进⾏修改。

2.2 配置选项含义详解选项含义DOXYFILE_ENCODING Doxygen⽂件的编码⽅式,默认为UTF-8,若希望⽀持中⽂,最好设置为 GB2312PROJECT_NAME Project 的名字,以⼀个单词为主,多个单词请使⽤双引号括住。

linuxdoxygen使用说明

linuxdoxygen使用说明

linuxdoxygen使用说明目录1.安装doxygen (2)2.配置Doxygen工作环境 (2)3.程序源码文档化 (3)4.程序文档生成 (4)5.Doygen 集成到codeBlocks (4)5.1配置步骤 (4)5.2使用: (4)1. 安装doxygen安装包doxygen-1.7.4.linux.bin.tar.gz命令:1)tar xvfz doxygen-1.7.4.linux.bin.tar.gz2)cd doxygen-1.7.43)./configure4)make5)make install安装后需留意下doxyg的路径,例如:/usr/bin/doxygen2. 配置Doxygen工作环境步骤:6)进入项目目录(test为例说明)cd test/7)生成配置文件Doxygen –g●默认生成的配置文件名为"Doxyfile",也可以采用"doxygen -g your-cfg-filename" 命令格式指定所生成的配置文件名。

如无特殊需要,采用默认的配置文件名即可。

●Doxyfile 文件内容非常多,大概1000 多行,不过其中约4/5 都是注释,每个配置选项都有一段详细的注释。

日后,如果对Doxygen 各配置选项的意义有一定了解,可以在生成配置文件的命令中添加"-s"选项,生成不含注释的配置文件,操作如下:$ doxygen -s -g3)配置文件的相应设置,这里已经有个模板Doxyfile(test文件夹下),可以根据需要更改相应设置# 项目名称,将作为于所生成的程序文档首页标题PROJECT_NAME = “Test# 文档版本号,可对应于项目版本号,譬如svn、cvs 所生成的项目版本号PROJECT_NUMBER = "1.0.0# 程序文档输出目录OUTPUT_DIRECTORY = doc/# 程序文档语言环境OUTPUT_LANGUAGE = Chinese# 如果是制作C 程序文档,该选项必须设为YES,否则默认生成C++ 文档格式OPTIMIZE_OUTPUT_FOR_C = YES# 对于使用typedef 定义的结构体、枚举、联合等数据类型,只按照typedef 定义的类型名进行文档化TYPEDEF_HIDES_STRUCT = YES# 在C++ 程序文档中,该值可以设置为NO,而在C 程序文档中,由于C 语言没有所谓的域/名字空间这样的概念,所以此处设置为YES HIDE_SCOPE_NAMES = YES# 让doxygen 静悄悄地为你生成文档,只有出现警告或错误时,才在终端输出提示信息QUIET = YES# 只对头文件中的文档化信息生成程序文档FILE_PATTERNS = *.h# 递归遍历当前目录的子目录,寻找被文档化的程序源文件RECURSIVE = YES# 示例程序目录EXAMPLE_PATH = example/# 示例程序的头文档(.h 文件) 与实现文档(.c 文件) 都作为程序文档化对象EXAMPLE_PATTERNS = *.c \*.h# 递归遍历示例程序目录的子目录,寻找被文档化的程序源文件EXAMPLE_RECURSIVE = YES# 允许程序文档中显示本文档化的函数相互调用关系REFERENCED_BY_RELATION = YESREFERENCES_RELATION = YESREFERENCES_LINK_SOURCE = YES# 不生成latex 格式的程序文档GENERATE_LATEX = NO# 在程序文档中允许以图例形式显示函数调用关系,前提是你已经安装了graphviz 软件包HAVE_DOT = YESCALL_GRAPH = YESCALLER_GRAPH = YES#让doxygen从配置文件所在的文件夹开始,递归地搜索所有的子目录及源文件RECURSIVE = YES#在最后生成的文档中,把所有的源代码包含在其中SOURCE BROWSER = YES$这会在HTML文档中,添加一个侧边栏,并以树状结构显示包、类、接口等的关系GENERATE TREEVIEW =ALL3. 程序源码文档化准备好Doxygen 的工作环境后,就需要根据Doxygen 所定义的注释规则,对程序源码进行文档化。

Doxygen_Using_Manual

Doxygen_Using_Manual

Doxygen配置使用指南2009-02-24目录序言 (1)1.Doxygen的工作过程 (1)2.Doxygen注释块 (2)2.1 文件注释 (3)2.2 函数注释 (4)2.3 结构体注释 (6)2.4 其它常用注释 (7)3 Linux系统C语言使用 (9)3.1安装Doxygen (9)3.2示例使用说明 (10)4.Windows系统C++语言使用 (13)4.1安装Doxygen (13)4.2 C++注释介绍 (13)4.2 Windows示例使用介绍 (15)4.2.1 运行Doxygen (16)4.2.2 设置工程 (16)4.2.3参数设置 (17)4.2.4 运行Doxygen (18)4.2.3 生存CHM文档方式设置 (18)4.2.4 中英文切换 (19)版本历史 (22)序言为代码写注释一直是大多数程序员有些困扰的事情。

当前程序员都能接受为了程序的可维护性、可读性编码的同时写注释的说法,但对哪些地方应该写注释,注释如何写,写多少等这些问题,很多程序员仍然没有答案。

更头痛的是写文档,以及维护文档的问题,开发人员通常可以忍受编写或者改动代码时,编写或者修改对应的注释,但之后需要修正相应的文档却比较困难。

如果能从注释直接转化成文档,对开发人员无疑是一种福音。

而doxygen就能把遵守某种格式的注释自动转化为对应的文档。

Doxygen是基于GPL的开源项目,是一个非常优秀的文档系统,当前支持在大多数Unix(包括Linux),Windows家族,Mac系统上运行,完全支持C++,C,Java,IDL(Corba和Microsoft 家族)语言,部分支持PHP和C#语言,输出格式包括HTML、Latex、RTF、ps、PDF、压缩的HTML以及Unix Manpage。

有很多开源项目(如:TinyXML)都使用了doxygen文档系统。

而国内的开发人员却使用的不多,这里从开发人员使用的角度介绍这个工具,使开发人员用最少的代价尽快掌握这种技术,并结合这个工具探讨如何撰写注释的问题。

doxygen使用方法

doxygen使用方法

doxygen使用方法Doxygen是一个开源工具,用于生成软件项目的文档。

它可以解析源代码中的注释,然后生成相应的文档,包括类、函数、变量、文件等的说明,以及函数的调用图、继承图等。

本文将详细介绍Doxygen的使用方法。

一、安装Doxygen二、配置Doxygen在使用Doxygen生成文档之前,需要进行一些配置。

Doxygen的配置文件为'Doxyfile',通过修改这个文件来定制Doxygen的行为。

1.在项目根目录下,使用以下命令生成默认的配置文件:``````一些常用的参数如下:-PROJECT_NAME:项目的名称,会显示在生成的文档中。

-INPUT:需要生成文档的源文件或目录。

通常设置为代码文件所在的目录,以及一些额外的源文件。

-OUTPUT_DIRECTORY:文档的输出目录。

-RECURSIVE:是否递归处理子目录。

-FILE_PATTERNS:需要处理的源文件的模式。

可以使用通配符指定多个文件类型。

-EXCLUDE:需要排除的文件或目录。

3.保存修改后的配置文件。

4.使用以下命令来生成文档:``````5. 生成的文档将存储在指定的输出目录中。

打开'index.html'文件即可浏览生成的文档。

三、编写注释为了让Doxygen能够正确解析源代码中的注释并生成相应的文档,我们需要按照一定的规则编写注释。

下面是一些常用的注释标记和使用方法。

1.文件注释```/***...*/```2.命名空间注释```/***...namespace namespace_name//...```3.类注释```/***...*/class class_name//...```4.函数注释```/***...*/return_type function_name(param_type param_name) //...四、生成高级文档特性Doxygen还支持生成一些高级的文档特性,如调用图、继承图等。

Doxygen代码注释规范

Doxygen代码注释规范

基于Doxygen的代码注释规范一、Doxygen系列软件介绍1、DoxygenDoxygen是一种开源跨平台的,以类似JavaDoc风格描述的文档系统,完全支持C、C++、Java、Objective-C和IDL语言,部分支持PHP、C#。

注释的语法与Qt-Doc、KDoc和JavaDoc兼容。

Doxgen可以从一套归档源文件开始,生成HTML 格式的在线类浏览器,或离线的LATEX、RTF参考手册。

Doxygen能将程序中的特定批注转换成为说明文件。

它可以依据程序本身的结构,将程序中按规范注释的批注经过处理生成一个纯粹的参考手册,通过提取代码结构或借助自动生成的包含依赖图(include dependency graphs)、继承图(inheritance diagram)以及协作图(collaboration diagram)来可视化文档之间的关系, Doxygen生成的帮助文档的格式可以是CHM、RTF、PostScript、PDF、HTML等。

2、graphvizGraphviz(Graph Visualization Software)是一个由AT&T实验室启动的开源工具包,用于绘制DOT语言脚本描述的图形。

要使用Doxygen生成依赖图、继承图以及协作图,必须先安装graphviz软件。

3、HTML Help WorkShop微软出品的HTML Help WorkShop是制作CHM文件的最佳工具,它能将HTML 文件编译生成CHM文档。

Doxygen软件默认生成HTML文件或Latex文件,我们要通过HTML生成CHM 文档,需要先安装HTML Help WorkShop软件,并在Doxygen中进行关联。

二、软件下载与安装Doxygen下载(doxygen-1.8.7-setup.exe):http://www.stack.nl/~dimitri/doxygen/download.htmlgraphviz(for windows)下载:/Download..phpHTML Help WorkShop(1.32)下载:/download/0/a/9/0a939ef6-e31c-430f-a3df-dfae7960d564/htmlhelp.exe软件安装都选择默认方式,点击下一步直至安装完成。

自动生成帮助文档工具——Doxygen的使用示例(C++)

自动生成帮助文档工具——Doxygen的使用示例(C++)

⾃动⽣成帮助⽂档⼯具——Doxygen的使⽤⽰例(C++)在项⽬中⽤了Doxygen来制作⽂档,记录备忘。

查了不少⽂章,主要使⽤⽅法及例⼦参考都是来⾃以下链接:使⽤步骤:⼀、安装内容1 安装 Doxygen(Windows)2 安装 graphviz(Windows) 因为项⽬⽐较⼩所以没有安装graphviz3 安装 Windows Help Workshop 要⽣成 CHM 格式的⽂档需安装⼆、配置Doxygen1 写的代码注释很多都是中⽂的,如果源码是GB2312格式,记得转为UTF-8格式。

直接输⼊GB2312格式没有尝试。

2 Export Label 下的HTML选项中,CHM_INDEX_ENCODING选项要使⽤GB2312,否则⽣成的CHM中会显⽰乱码。

(实际上在使⽤CHM 中的搜索功能时仍存在乱码,未解决)3 记住要添加 hhc.exe 的路径。

三、代码⽰例此⽰例在链接⽰例基础上修改,简单的注释变量、函数、类等基本够⽤了。

注释应该还有⼀些其他的功能,有时间需要深⼊了解⼀下。

PS:例如想插⼊⼀些调⽤函数的⽰例代码。

.h/*** @file** 此⽂件⽤于定义class example**@auther ...*////定义EXAMPLE_OK的宏为0#define EXAMPLE_OK 0/*** @brief 类的简短说明** 此类⽤于doxygen的使⽤说明**/class Example {private:///变量var1int var1;public:///变量var2int var2;///变量var3int var3;void ExFunc1(void);void int ExFunc2(int a,char b);char *ExFunc3(char *c);}View Code.cpp/*** @file** 此⽂件⽤于定义example class 的 * member function** @author ...*//*** @brief ExFunc1 的简易说明** ExFunc1没有任何参数及返回值*/void Example::ExFunc1(void){//code}/*** @brief ExFunc2 的简易说明** ExFunc2()传回两个参数相加的值 ** @param a ⽤来相加的参数* @param b ⽤来相加的参数* @return 传回两个参数相加的结果 */int Example::ExFunc2(int a,int b){return(a+b);}/*** @brief ExFunc3的简易说明** ExFunc3()只传回参数输⼊的指标。

便利的开发文档工具-doxygen

便利的开发文档工具-doxygen

. 序言为代码写注释一直是大多数程序员有些困扰地事情.当前程序员都能接受为了程序地可维护性、可读性编码地同时写注释地说法,但对哪些地方应该写注释,注释如何写,写多少等这些问题,很多程序员仍然没有答案.更头痛地是写文档,以及维护文档地问题,开发人员通常可以忍受编写或者改动代码时编写或者修改对应地注释,但之后需要修正相应地文档却比较困难.如果能从注释直接转化成文档,对开发人员无疑是一种福音.而就能把遵守某种格式地注释自动转化为对应地文档.是基于地开源项目,是一个非常优秀地文档系统,当前支持在大多数(包括),家族,系统上运行,完全支持, , , (和家族)语言,部分支持和语言,输出格式包括、、、、、压缩地和.有很多开源项目(包括前两篇文章介绍地和)都使用了文档系统.而国内地开发人员却使用地不多,这里从开发人员使用地角度介绍这个工具,使开发人员用最少地代价尽快掌握这种技术,并结合这个工具探讨如何撰写注释地问题.以下以下地语言为例进行介绍,以下讨论基于.文档来自于网络搜索. 使用步骤由于只是工具地使用,这里不介绍它地原理,直接从使用步骤开始.地使用步骤非常简单.主要可以分为:)第一次使用需要安装地程序)生成配置文件)编码时,按照某种格式编写注释)生成对应文档地安装非常简单,下可以直接下载安装包运行即可,下载源代码编译安装也是比较通用地编译安装命令.请参考其安装文档完成安装.文档来自于网络搜索在生成文档时可以定义项目属性以及文档生成过程中地很多选项,使用下面命令能够产生一个缺省地配置文件:[配置文件名]可以根据项目地具体需求修改配置文件中对应地项,具体地修改过程在下面介绍.修改过地配置文件可以作为以后项目地模板.文档来自于网络搜索让自动产生文档,平常地注释风格可不行,需要遵循自己地格式.具体如何写认识地注释在第节详细介绍.文档来自于网络搜索,代码编完了,注释也按照格式写好了,最后地文档是如何地哪?非常简单,运行下面地命令,相应地文档就会产生在指定地目录中.[配置文件名]文档来自于网络搜索需要注意地是并不处理所有地注释,重点关注与程序结构有关地注释,比如:文件、类、结构、函数、变量、宏等注释,而忽略函数内变量、代码等地注释.文档来自于网络搜索. 配置文件配置文件地格式是也是通常地下配置文件地格式:注释''开始;[…];对于多值地情况可以使用[…].文档来自于网络搜索对地配置文件地修改分为两类:一种就是输出选项,控制如何解释源代码、如何输出;一种就是项目相关地信息,比如项目名称、源代码目录、输出文档目录等.对于第一种设置好后,通常所有项目可以共用一份配置,而后一种是每个项目必须设置地.下面选择重要地,有可能需要修改地选项进行解释说明,其他选项在配置文件都有详细解释.文档来自于网络搜索缺省值含义项目名称可以理解为版本信息输出文件到地目录,相对目录(运行目录)或者绝对目录代码文件或者代码所在目录,使用空格分割* * * * * * * * * * * * * * * * * * 指定地目录中特定文件,如:* * *是否递归中目录地子目录在目录中需要忽略地子目录明确指定地在目录中需要忽略地文件,如:*生成文档地语言,当前支持、种语言,国内用户可以设置为(版本)(版本)编码格式,默认即可.为,只解释有格式注释地代码;为,解析所有代码,即使没有注释.类地私有成员和所有地静态项由和控制是否解析类地私有成员是否解析静态项是否解析源文件(文件)中定义地类如果为,源代码文件会被包含在文档中如果为,函数和类地实现代码被包含在文档中生成一个字母序地列表,有很多类、结构等项时建议设为是否生成格式文档是否生成压缩格式文档()是否乘车格式地文档是否生成格式地文档是否生成格式文档是否生成格式文档文档来自于网络搜索. 注释注释风格下面是工作量最大部分,安装格式写注释.通常代码可以附上一个注释块来对代码进行解释,一个注释块由一行或者多行组成.通常一个注释块包括一个简要说明()和一个详细说明(),这两部分都是可选地.可以有多种方式标识出可识别地注释块.)类型地多行注释.*** …….*)样式地多行注释.*!…….*)…….)! …….简要说明有多种方式标识,这里推荐使用命令强制说明,例如:*** [ ]* [ . ]** [ …]*以上这些注释格式用来对紧跟其后地代码进行注释.也允许把注释放到代码后面,具体格式是放一个'<'到注释开始部分.例如:; **< ……. *; < …….文档来自于网络搜索注释和代码完全分离,放在其他地方也是允许地,但需要使用特殊地命令加上名称或者声明进行标识,比如:、、、、、、、、、、(这些也就是关注地注释类型).这里不推荐使用,建议注释尽量放在代码前后.具体使用方式参见手册.文档来自于网络搜索常用注释格式通常地选择上面地一、两种注释风格,遇到头文件中各种类型定义,关键变量、宏地定义,在其前或者后使用定义其简要说明,空一行后继续写其详细地注释即可.文档来自于网络搜索对函数地注释,是比较常常需要注释地部分.除了定义其简要说明以及详细注释,还可以使用命令对其各个参数进行注释,使用命令对返回值进行注释.常见地格式如下:*** ' .** .* [ ' .]* [ ' .]* [' .]* [' .]*( , );文档来自于网络搜索进行设计时,通常有模块地概念,一个模块可能有多个类或者函数组成,完成某个特定功能地代码地集合.如何对这个概念进行注释?提供了地概念,生成地模块地注释会单独放在一个模块地页面中.使用下面地格式定义一个.** [] [ ]* ]* {*** } *中地代码可以有自己地注释.单纯定义一个模块,去除{ 和}命令即可.任何其他代码项(比如类、函数、甚至文件)如果要加入到某个模块,可以在其注释中使用命令即可.之间使用命令,可以组成树状关系.*** []* ' .*把多个代码项一起添加到某个模块中可以使用命令,格式和相似.文档来自于网络搜索对于某几个功能类似地代码项(比如类、函数、变量)等,如果希望一起添加注释,而又不想提升到模块地概念,可以通过下面地方式:{** . *…}对这种组进行命名可以使用命令.此时中间代码可以有自己地注释.如:*** .*{…}文档来自于网络搜索常用注释命令通过注释命令识别注释中需要特殊处理地注释,比如函数地参数、返回值进行突出显示.上面也提到了一些注释命令(如:、、、以及相关地命令),下面对其他一些常用地注释命令进行解释说明.<> { } 对一个异常对象进行注释.{ } 一些需要注意地事情{ } 对将要做地事情进行注释{ } 一段包含其他部分引用地注释,中间包含对其他代码项地名称,自动产生对其地引用链接.<> 通常用做把非成员函数地注释文档包含在类地说明文档中.{} 通常用来说明从什么版本、时间写此部分代码.{ } 用来说明代码项地前提条件.{ } 用来说明代码项之后地使用条件.在注释中开始说明一段代码,直到命令.注释中代码段地结束.文档来自于网络搜索到此为止,常用地地注释格式讨论完毕,我们能够按照一定地格式撰写认识地注释,并能够使用方便快捷地生成对应地文档,不过注释中应该写些什么,如何撰写有效地注释可能是困扰开发人员地一个更深层次地问题.文档来自于网络搜索. 注释地书写注释应该怎么写,写多还是写少.过多地注释甚至会干扰对代码地阅读.写注释地一个总地原则就是注释应该尽量用来表明作者地意图,至少也应该是对一部分代码地总结,而不应该是对代码地重复或者解释.对代码地重复或者解释地代码,看代码可能更容易理解.反映作者意图地注释解释代码地目地,从解决问题地层次上进行注释,而代码总结性注释则是从问题地解答地层次上进行注释.文档来自于网络搜索推荐地写注释地过程是首先使用注释勾勒出代码地主要框架,然后根据注释撰写相应地代码.对各种主要地数据结构、输出地函数、多个函数公用地变量进行详细地注释.对代码中控制结构,单一目地地语句集进行注释.下面是一些写注释时需要注意地要点:避免对单独语句进行注释;通过注释解释为什么这么做、或者要做什么,使代码地读者可以只阅读注释理解代码;对读者可能会有疑问地地方进行注释;对数据定义进行注释,而不是对其使用过程进行注释;对于难于理解地代码,进行改写,而不要试图通过注释加以说明;对关键地控制结构进行注释;对数据和函数地边界、使用前提等进行注释;文档来自于网络搜索。

Doxygen使用教程(个人总结)

Doxygen使用教程(个人总结)

简介Doxygen一.什么是Doxygen?Doxygen 是一个程序的文件产生工具,可将程序中的特定批注转换成为说明文件。

通常我们在写程序时,或多或少都会写上批注,但是对于其它人而言,要直接探索程序里的批注,与打捞铁达尼号同样的辛苦.大部分有用的批注都是属于针对函式,类别等等的说明。

所以,如果能依据程序本身的结构,将批注经过处理重新整理成为一个纯粹的参考手册,对于后面利用您的程序代码的人而言将会减少许多的负担.不过,反过来说,整理文件的工作对于您来说,就是沉重的负担。

Doxygen 就是在您写批注时,稍微按照一些它所制订的规则。

接着,他就可以帮您产生出漂亮的文档了。

因此,Doxygen 的使用可分为两大部分。

首先是特定格式的批注撰写,第二便是利用Doxygen的工具来产生文档。

目前Doxygen可处理的程序语言包含:•C/C++•Java•IDL (Corba, Microsoft及KDE-DCOP类型)而可产生出来的文档格式有:•HTML•XML•LaTeX•RTF•Unix Man Page而其中还可衍生出不少其它格式。

HTML可以打包成CHM格式,而LaTeX可以透过一些工具产生出PS或是PDF文档。

二.安装Doxygen•1。

1 安装 Doxygen 1。

7。

4(Windows)•1。

2 安装 graphviz 2。

28。

0(Windows)graphviz 是一个由AT&T实验室启动的开源工具包,用于绘制DOT语言脚本描述的图形.Doxygen 使用 graphviz 自动生成类之间和文件之间的调用关系图,如不需要此功能可不安装该工具包。

•1。

3 安装 Windows Help Workshop 1。

32Doxygen 使用这个工具可以生成 CHM 格式的文档。

三.Doxygen的配置Doxygen 产生文档可以分为三个步骤.一是在程序代码中加上符合Doxygen所定义批注格式。

二是使用Doxywizard进行配置。

[总结]doxygen的使用与CC++注释规范

[总结]doxygen的使用与CC++注释规范

[总结]doxygen的使⽤与CC++注释规范近期由于项⽬需要,参考⽹上资料整理了⼀下注释规范,详细内容如下:1. doxygen的安装与参数配置1.1. 安装$ sudo apt-get install doxygen以下可以选择安装$sudo apt-get install doxygen-doc doxygen-gui graphviztexpower dot2tex graphviz-doc texpower-examples1.2. ⽣成配置⽂件在 shell 提⽰上,输⼊命令 doxygen -g。

这个命令在当前⽬录中⽣成⼀个可编辑的配置⽂件 Doxyfile。

可以改变这个⽂件名,在这种情况下,应该调⽤ doxygen -g<user-specified file name>1.3. 修改配置参数l <OUTPUT_DIRECTORY>:必须在这⾥提供⼀个⽬录名,例如 /home/user1/documentation,这个⽬录是放置⽣成的⽂档⽂件的位置。

如果提供⼀个不存在的⽬录名,doxygen 会以这个名称创建具有适当⽤户权限的⽬录。

l <INPUT>:这个标记创建⼀个以空格分隔的所有⽬录的列表,这个列表包含需要⽣成⽂档的 C/C++ 源代码⽂件和头⽂件。

例如,请考虑以下代码⽚段:INPUT = /home/user1/project/kernel /home/user1/project/memory在这⾥,doxygen 会从这两个⽬录读取C/C++ 源代码。

如果项⽬只有⼀个源代码根⽬录,其中有多个⼦⽬录,那么只需指定根⽬录并把<RECURSIVE> 标记设置为 Yes。

l <FILE_PATTERNS>:在默认情况下,doxygen会搜索具有典型C/C++ 扩展名的⽂件,⽐如.c、.cc、.cpp、.h和.hpp。

如果<FILE_PATTERNS> 标记没有相关联的值,doxygen就会这样做。

doxygen配置及使用手册

doxygen配置及使用手册

Doxygen安装及使用手册一简介Doxygen可以从C,C++,java等源代码中提取消息来生成帮助文档,API资料等二下载Doxygen以下,是在linux平台下的demo介绍。

http://www.stack.nl/~dimitri/doxygen/index.htmldoxyen主页去下载doxygen-1.5.5.src.tar.gz三 Doxygen安装安装doxygen-1.5.5.src.tar.gz1 把下载好的doxygen-1.5.5.src.tar.gz拷到自己想要的目录中,我放到了自己的Home目录下。

2 进入相应的目录:本例是在自己的home目录下3 解压#tar -zxvf doxygen-1.5.5.src.tar.gz会在当前目录下生成一个名字为doxygen-1.5.5的目录。

4 在自己的Home目录下建立一个doxygen目录,我们的doxygen以后就安装到这个目录下。

#mkdir doxygen5 进入doxygen-1.5.5目录#cd doxygen-1.5.56 安装:用—prefix选项制定安装目录为/home/lvq/doxygen,lvq为我的用户名,这里可以用~/doxygen代替。

#./configure –prefix ~/doxygen#make#make install这样在~/doxygen 目录就安装好了doxygen软件7 生成配置文件#cd ~/doxygen/bin/# ./doxygen –g 文件名执行这个命令后就会生成一个制定名字的配置文件,这里我们不加文件名,只用./doxygen –g 生成默认配置文件Doxyfile。

四如何使用DoxygenDoxygen可以从源代码中提取消息生成帮助文档,它是根据源代码中的特定注释来实现。

所以,首先要给工程代码书写符合Doxygen格式的注释。

1 以sipproxy小工程为例1)这个工程在/home/lvq/self/sipproxy1/sipproxy-v1.04/目录下。

doxygen配置说明

doxygen配置说明

∙ABBREVIATE_BRIEF //简短摘要∙ALIASES //别名∙ALLEXTERNALS //所有外部文档∙ALPHABETICAL_INDEX //字母顺序索引∙ALWAYS_DETAILED_SEC //详细描述部分∙BINARY_TOC //二进制操作∙BRIEF_MEMBER_DESC //简短的成员描述∙CALL_GRAPH //调用到的图∙CASE_SENSE_NAMES //检测的范例的名字∙CHM_FILE //CHM格式文件∙CLASS_DIAGRAMS //类-表∙CLASS_GRAPH //类-图∙COLLABORATION_GRAPH //相互调用关系图∙COLS_IN_ALPHA_INDEX //以列形式显示的字母顺序的索引∙COMPACT_LATEX //压缩的LATEX文档∙COMPACT_R TF //压缩的RTF文档∙CREATE_SUBDIRS //创建一个"子目录"∙DETAILS_AT_TOP //文档的详细头部∙DIRECTORY_GRAPH //目录图∙DISABLE_INDEX //禁用INDEX∙DISTRIBUTE_GROUP_DOC //禁用文档成组显示∙DOT_IMAGE_FORMAT //点阵图形∙DOT_MULTI_TARGETS //多个DOT目标∙DOT_PATH //DOT路径设置∙DOT_TRANSPARENT //DOT转换设置∙DOTFILE_DIRS //DOTFILE 列表显示∙ENABLE_PREPROCESSING //允许"预处理"指令∙ENUM_VALUES_PER_LINE //每行的枚举值∙ENABLED_SECTIONS //允许分段显示∙EXAMPLE_PATH //例子路径∙EXAMPLE_PATTERNS //例子用的文件格式(*.cpp, *.h , *.java等)∙EXAMPLE_RECURSIVE //例子递归∙EXCLUDE //可执行文件∙EXCLUDE_PATTERNS //可执行文件格式(*.exe, *.dll等)∙EXCLUDE_SYMLINKS //可执行的SYMLINKS∙EXPAND_AS_DEFINED //规定的扩展∙EXPAND_ONLY_PREDEF //预定义扩展∙EXTERNAL_GROUPS //使用到的外部的文件∙EXTRA_PACKAGES //使用到的外部插件包∙EXTRACT_ALL //提取所有∙EXTRACT_LOCAL_CLASSES //提取所有本地类∙EXTRACT_LOCAL_METHODS //提取所有本地方法∙EXTRACT_PRIVATE //提取所有private∙EXTRACT_STATIC //提取所有stati c∙FILE_PATTERNS //文件路径∙FILE_VERSION_FILTER //文件版本控制∙FILTER_PATTERNS //控制格式(主版本:第1次版本:第2次版本号)∙FILTER_SOURCE_FILES //原文件的版本控制∙FULL_PATH_NAMES //全路径名∙GENERATE_AUTOGEN_DEF //生成自动定义文件形式∙GENERATE_BUGLIST //生成BUG列表∙GENERATE_CHI //生成"希腊字母" ∙GENERATE_DEPRECIATEDLIST //生成"评估"列表∙GENERATE_HTML //生成HTML∙GENERATE_HTMLHELP //生成HTMLHELP ∙GENERATE_LATEX //生成LATEX∙GENERATE_LEGEND //生成图例∙GENERATE_MAN //生成MAN文件∙GENERATE_PERLMOD //生成Perl脚本∙GENERATE_RTF //生成RTF∙GENERATE_TAGFILE //生成标志文件∙GENERATE_TESTLIST //生成TESTLIST∙GENERATE_TODOLIST //生成TODOLIST ∙GENERATE_TREEVIEW //生成树状视图显示∙GENERATE_XML //生成XML∙GRAPHICAL_HIERARCHY //继承图表∙GROUP_GRAPHS //组-图∙HAVE_DOT //隐藏DOT∙HHC_LOCATION //隐藏位置∙HIDE_FRIEND_COMPOUNDS //隐藏"复合的"友员类型∙HIDE_IN_BODY_DOCS //隐藏文档的主体∙HIDE_SCOPE_NAMES //隐藏"作用域"名∙HIDE_UNDOC_CLASSES //隐藏"未归档"的所有CLASS ∙HIDE_UNDOC_MEMBERS //隐藏"未归档"的所有的成员∙HIDE_UNDOC_RELATIONS //隐藏"未归档"的关系∙HTML_ALIGN_MEMBERS //H TML文档中成员对齐方式∙HTML_FOOTER //H TML脚注设置∙HTML_HEADER //HTML头部设置∙HTML_OUTPUT //H TML输出设置∙HTML_STYLESHEET //H TML样式设置∙IGNORE_PREFIX //忽略哪些前缀∙IMAGE_PATH //图片的路径设置∙INCLUDE_GRAPH //包含-图∙INCLUDE_PATH //头文件包含的路径∙INHERIT_DOCS //文档的继承关系∙INLINE_INFO //内联信息∙INLINE_INHERITED_MEMB //通过"继承"得到的内联成员∙INLINE_SOURCES //内联部分的源代码∙INPUT //输入设置∙INPUT_FILTER //能够接受的输入文件的扩展名格式设置(重要)∙INTERNAL_DOCS //内部文档∙JAVADOC_AUTOBRIEF //JAVADOC工具生成的文档的"自动摘要"∙LATEX_BATCHMODE //LATEX匹配方式∙LATEX_CMD_NAME //LATEX 命令名∙LATEX_HEADER //LATEX 头部∙LATEX_HIDE_INDICES //LATEX内部隐藏的包含∙LATEX_OUTPUT //LATEX输出∙MACRO_EXPANSION //宏展开设置(重要)∙MAKEINDEX_CMD_NAME //MAKEINDEX命令索引∙MAN_EXTENSION //MAN扩展∙MAN_LINKS //MAN链接设置∙MAN_OUTPUT //MAN输出设置∙MAX_DOT_GRAPH_DEPTH //DOT图的最大深度∙MAX_DOT_GRAPH_HEIGHT //DOT图的最大高度∙MAX_DOT_GRAPH_WIDTH //DOT图的最大宽度∙MAX_INITIALIZER_LINES //最大初始化行∙MULTILINE_CPP_IS_BRIEF //多个CPP文件的简短描述∙OPTIMIZE_OUTPUT_FOR_C //对C采用的优化设置∙OPTIMIZE_OUTPUT_JAVA //对JAVA采用的优化设置∙OUTPUT_DIRECTORY //输出路径设置(重要)∙OUTPUT_LANGUAGE //输出语言设置(重要)∙PAPER_TYPE //纸张类型∙PDF_HYPERLINKS //PDF格式超链接设置(重要)∙PERL_PATH //perl路径设置∙PERLMOD_LATEX //perlm od LATEX∙PERLMOD_PRETTY // perlm od PRETTY(漂亮/相当)∙PERLMOD_MAKEVAR_PREFIX //perlm od MAKE文件版本PREFIX ∙PREDEFINED //预先定义(重要)∙PROJECT_NAME //工程名(重要)∙PROJECT_NUMBER //工程的组成成员(重要)∙QUIET //静态量设置(重要)∙RECURSIVE //递归和循环∙REFERENCED_BY_RELATION //交叉参考(重要)∙REFERENCES_RELATION //交叉参考的关系∙REPEAT_BRIEF //重新设置"简短说明"为打开状态∙RTF_EXTENSIONS_FILE //RTF展开文件∙RTF_H YPERLINKS //RTF超链接∙RTF_OUTPUT //RTF输出设置∙RTF_STYLESHEET_FILE //RTF样式文件∙SEARCH_INCLUDES //搜索时需要包含什么(重要)∙SEARCHENGINE //搜索引擎设定(重要)∙SHORT_NAMES //使短文件名生效∙SHOW_DIRECTORIES //显示目录∙SHOW_INCLUDE_FILES //显示包含文件(一般NO,否则太大)∙SHOW_USED_FILES //显示被用到的文件(一般YES)∙SKIP_FUNCTION_MACROS //跳过函数中的宏(重要),菜鸟最好别跳∙SORT_BRIEF_DOCS //文档的简短摘要∙SORT_MEMBER_DOCS //成员的简短描述∙SOURCE_BROWSER //原文件浏览路径∙STRIP_CODE_COMMENTS //排除哪些条码形式注释(重要)∙STRIP_FROM_INC_PATH //排除哪些头文件包含的注释(重要)∙STRIP_FROM_PATH //排除哪些条码路径设置∙SUBGROUPING //子组设置(重要)∙TAB_SIZE //TAB符SIZE设置(重要)∙TAGFILES //标志文件∙TEMPLATE_RELATIONS //模板关系设置(重要)∙TOC_EXPAND //TOC扩展∙TREEVIEW_WIDTH //树状图显示的宽度设置(重要)∙UML_LOOK //UML外观设置(重要)∙USE_WINDOWS_ENCODING //使用windows系统的编码形式(重要)∙VERBATIM_HEADERS //VERBATIM头部(头文件)∙WARN_FORMAT //警告格式指定(重要)∙WARN_IF_DOC_ERROR //如果文档出错则显示警告∙WARN_IF_UNDOCUMENTED //如果是未归档文件则显示警告∙WARN_LOGFILE //警告日志文件设置∙WARN_NO_PARAMDOC //无参数文档警告形式设定∙WARNINGS //警告设置(重要)∙XML_DTD //XML文件类型定义(重要)∙XML_OUTPUT //XML输出设置(重要)∙XML_PROGRAMLISTING //XML程序列表(重要)∙XML_SCHEMA //XML模式设置(重要)。

doxygen的注释风格

doxygen的注释风格

doxygen的注释风格Doxygen的注释风格是一种用于代码文档化的注释风格。

通过使用Doxygen的注释风格,开发人员可以在代码中添加注释,从而生成具有可读性和易于理解的代码文档。

在使用Doxygen注释风格时,一些常用的注释标记和用法包括:1. 文件注释:在代码文件的开头,使用`/**`和`*/`将注释内容包围起来,用于描述整个文件的概要信息。

可以包括作者、日期、文件用途等相关信息。

2. 函数注释:在函数的定义前,使用`/**`和`*/`将注释内容包围起来,用于描述函数的功能、参数、返回值等详细信息。

可以使用标记如`@param`和`@return`来说明参数和返回值的含义。

3. 类注释:在类的定义前,使用`/**`和`*/`将注释内容包围起来,用于描述类的功能、成员变量、成员函数等详细信息。

可以使用标记如`@brief`、`@param`和`@return`来说明类的概要信息、参数和返回值的含义。

4. 成员变量注释:在类的成员变量前,使用`//!`或`///<`来注释成员变量的含义和用途。

5. 枚举注释:在枚举类型的定义前,使用`/**`和`*/`将注释内容包围起来,用于描述枚举类型的含义和取值范围。

通过使用Doxygen的注释风格,开发人员可以轻松地生成代码文档。

Doxygen会解析这些注释,并将其转换为可供阅读的HTML、PDF或其他格式的文档。

开发人员可以根据需要自定义文档的格式和样式。

使用Doxygen注释风格的好处是显而易见的。

首先,它可以提高代码的可读性和可维护性。

通过在代码中添加详细的注释,其他开发人员可以更容易地理解代码的功能和用法。

其次,生成的代码文档可以作为代码的说明文档,供用户参考和使用。

最后,代码文档可以帮助开发人员更好地组织和管理代码,提高开发效率。

然而,使用Doxygen注释风格也需要注意一些问题。

首先,注释的内容应准确、严谨,避免歧义或错误信息的出现。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Doxygen 的处理流程
图 1 是 Doxygen 网站上给出的 Doxygen 处理工具以及它们之间的信息流。
从图中可以看出,Doxygen 可执行程序位于正中,所有的流程都围绕着它进 行。左侧图标表示 Doxygen 的输入可以是源文件,或者是定制的头文件、图像、 注解等。Doxygen 图标上部是配置文件,由 Doxywizard 处理,下部是 Tag 文件, 由 Doxytag 处理。后面是 Doxygen 输出文件的类型,依次是 XML、Latex、Man pages、 RTF 和 HTML,可处理类型图标之后是进行进一步转换所需的工具。
分组
Doxygen 有两种分组机制。第一种是全局地为每一个组创建一个网页,此时 分组被称为"module";第二种是用于复合实体中的成员列表,此时分组被 称为 "member group"。Module 是一种把内容在单个网页上分组的方法。分组可以包 括 files,namespace,classes,functions,variables,enums,typedefs 和 defines,也可以包含 其它分组。复合实体(compound entities)如类、文件、
忽略<config-file>将会生成一个名为 Doxyfile 的缺省文件,如果 <config-file>已经存在,会被 Doxygen 改名为<config-file>.bak。
实际上,我们根本就不需要用一般的编辑器来编辑配置文件,Doxygen 提供 了一个辅助工具 Doxywizard。Doxywizard 是 Doxygen 的 GUI 前台,用户可以能 过它来读写配置文件,省却了手工配置的麻烦。基本上,在 Doxywizard 中可以 完成 Doxygen 的绝大多数工作,而且 Doxygen 也可以在由 Doxywizard 启动,这 样就使得整个过程比较连贯。
下面章节中也涉及到一些命令的使用,其它的命令可以查阅 Doxygen 用户手册。
列表
Doxygen 有许多方法可以创建项目列表。
使用"-"在每行开始之前打头,使用"."可以结束一个列表,开始新的段落。使用 这种方法要严格对齐。 /** * - 表项一 * - 子项一 * - 子项二 *. *. */ 在文档块中使用 HTML 命令。这种方法不需要严格对齐。 /*! * <ul> * <li> 表项一 * <ol> * <li> 子项一 * <li> 子项二 * </ol> * <li> 表项二 * </ul> */
命令
Doxygen 支持的指令非常多,主要作用是控制输出文档的排版格式。命令以 "\"或"@"号开始。
一些命令可以有多个参数,一些命令只有一个参数。参数周围的括号使用是有含 义的:
• <>号表示参数是单个词。 • ()号表示参数一直会到行尾。 • {}号表示参数会扩展到下一段落。 • []号表示参数是可选的。
命名空间等可以分布在多个分组中,而成员实体(member)如变量、函数、typedef 等只能归属于一个分组。
定义分组的方法是在特殊注释块中使用命令\defgroup 和\addtogroup。 defgroup 的格式如下:
\defgroup <唯一标识名> (中间可以有空格的标题)
两次使用同一标识名,在 doxygen 解析的时候会出现错误。命令 addtogroup 与 defgroup 不同的地方在于,如果使用了同一标识,则会在改组中加入新的项, 如果标识不重复,则会创建分组。addtogroup 中的标题是可选的。
• 当 GRAPHICAL_HIERARCHY 设置为 YES 时,将会绘制一个图形表示的类图结构。 • 当 CLASS_GRAPH 设置为 YES 时,会为每个归档的类创建一张图表示其直接或间
接的继承关系。 • 当 INCLUDE_GRAPH 设置为 YES 时,会为每个归档文件创建一幅包含依赖图,此
使用 Doxygen 构建文档系统
如果您这次还没来得及使用老式的 Help Workshop 为您的 Web 应用构建文档系统 的话,那么,何不尝试一下 Doxygen,需知ห้องสมุดไป่ตู้The proof of the pudding lies in the eating"。
Doxygen 是什么?
Doxygen 是一种开源跨平台的,以类似 JavaDoc 风格描述的文档系统,完全 支持 C、C++、Java、Objective-C 和 IDL 语言,部分支持 PHP、 C#。注释的语 法与 Qt-Doc、KDoc 和 JavaDoc 兼容。Doxgen 可以从一套归档源文件开始,生成 HTML 格式的在线类浏览器,或离线的 LATEX、RTF 参考手册。对于未归档的源文 件,也可以通过配置 Doxygen 来提取代码结构。或者借助自动生成的包含依赖图 (include dependency graphs)、继承图(inheritance diagram)以及协作图 (collaboration diagram)来可视化文档之间的关系。Doxygen 生成的帮助文 档的格式可以是 CHM、RTF、PostScript、PDF、HTML 和 Unix man page 等。
JavaDoc 风格,中间的"*"号可选。 /** * 注释 */ Qt 风格,中间的"*"号可选。 /*! * 注释 */ C++风格的变体,或者最后一个"/"改为"!"也可以。 /// 单行注释 /// 注释 /// 更加显著的表示。 /////////////////////////////////////////// /// 注释 /////////////////////////////////////////// 简要描述亦有多种表示方式。 在上述注释块中使用\brief 命令,详细注释在空行之后开始。 /*! \brief 简要描述 * 继续 * * 详细注释 */ JAVADOC_AUTOBRIEF 设置为 YES 后,在 JavaDoc 风格的注释中,第一个点号之前 的内容被自动设置为简要描述。 对于多行 C++变体,这个选项亦会起到相同的作用。 /** 简要描述.详细描述 * 注释 */ C++变体风格。 /// 简要描述 /* 详细描述 */
Doxygen 在 Linux 上开发,但也可以在其它的 Unix 平台下运行。而且,Windows 9x/NT 平台下也有对应的可执行版本。
安装 Doxygen
首先,去 Doxygen 网站上找到最新版本的 Doxygen。有二进制或源码两种版 本,如果不想重头编译,下载二进制版本安装即可。在 Linux 下,源码编译需要 perl 和 Gnu 工具 flex、bison、make 的支持。在 Windows 下,二进制版本勿需 安装,而源码编译所需支持工具较多。我们仅讲述 Linux 下的 Doxygen 的源码编 译以及二进制版本安装过程。
上面这些命令都是有优先级的,doxygen 会根据优先级将实体放入具有最高 优先级的分组之中。它们的优先级顺序 是:ingroup,defgroup,addtogroup, weakgroup。weakgroup 类似一个低优先级的 addtogroup。在.h 文件中可以使用 高优先级的命令定义层次结构,在.c 文件中\weakgroup 就不需要准确遵循.h 文 件中定义的层次结构。
编译源码
gunzip doxygen-$VERSION.src.tar.gz tar xf doxygen-$VERSION.src.tar sh ./configure,或者 configure --platform platform-type (略去直接使用 configure 需要平台检测的过程,平台类型在 PLATFORMS 文件中 列出), configure --with-doxywizard(GUI 前端选项) make,或者 make docs(创建 HTML 格式的手册),make pdf(创建 PDF 格式的 手册)
功能目前仅有 HTML 和 RTF 格式支持。 • 当 COLLABORATION_GRAPH 设置为 YES 时,会为每个归档类或结构绘制基类继
承关系图和使用关系图。 • 当 CALL_GRAPH 设置为 YES 时,会为每个函数显示一幅直接或间接调用关系图。
安装二进制版本
./configure make install
二进制文件安装目录是<prefix>/bin,其中<prefix>缺省为/usr,可以通过 configure 的参数 --prefix 修改其值。使用 make install_docs 可以把文档和 例子安装在目录<docdir>/doxygen,其中<docdir>缺省 为 <prefix>/share/doc/packages,可以通过 configure 的参数--docdir 修改其值。 doxygen 是 bin 目录下的一个命令行程序,它是 Doxygen 的核心工具,完成文档 的转换和生成工作。
声明分组之后,如果要使某个实体归属某一分组,需要使用 ingroup 命令。 避免在每个成员之前都使用 ingroup 命令,可以将 member 用@{和@}封装起来。
/** * \ingroup A */ extern int VarInA; /** * \defgroup IntVariables Global integer variables */ /*@{*/ /** an integer variable */ extern int IntegerVariable; /*@}*/ .... /** * \defgroup Variables Global variables */ /*@{*/ /** a variable in group A */ int VarInA; int IntegerVariable; /*@}*/
相关文档
最新文档