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 生成代码文档,提高后续维护人员维护代码的难度,并提 高代码的可读性。
本文档为基于《郑州云涌嵌入式程序规范第一版.doc》,不涉及变量命名、缩进等要求, 仅涉及注释部分的格式,指出统一风格的 Doxygen 可识别的注释格式,作为其补充和修订。
* @details
* @param[in] RTCxRTC peripheral selected, should be LPC_RTC
* @param[in] NewState New State of this function, should be:
*
- ENABLE: The time counters are enabled
可以看到程序清单 4.1 中的注释比我们通常写的代码注释多了些以“ @”开头的标记, 正是这些标记告诉 Doxygen 如何提取文档以及如何组织文档结构的。下面对这段注释进 行解释。
4.1.1 有效注释 “ /**”表示要求 Doxygen 处理这段注释,否则如果写成“ /*”或“ /****” 之类这段注释就会被忽略掉。这样就可以控制哪些注释要出现在文档中供用户阅读,哪 些注释仅仅是给代码编写者或维护者阅读。 4.1.2 定义模块 第 2 行的“ @defgroup”表示定义一个模块,语法是“ @deup RTC 实时时钟”定义了一个名为“实时时钟”的模块。模块 id 为“RTC” 模块 ID 必须使用英文,这个 ID 的作用是区分不同模块,并可供其他模块或注释引用。 下面一行是对“ RTC”模块的说明。 4.1.3 加入到模块 第 7 行“ @ingroup RTC”表示把这个注释块加入到模块“RTC”中。 4.1.4 函数注释
doxygen格式进行函数注释的格式

doxygen格式进行函数注释的格式一、引言在软件开发过程中,良好的代码注释是非常重要的,它能够帮助开发者理解代码逻辑、提高代码可读性,并方便后续的维护和修改。
而d o xy ge n是一种用于生成软件文档的工具,它支持多种编程语言,并且提供了一套注释格式规范,能够方便地生成代码文档。
二、什么是d o x y g e nd o xy ge n是一款开源的软件文档生成工具,它支持C、C++、J av a等多种编程语言,能够根据代码中的注释生成详细的文档内容。
通过d o xy ge n生成的文档,可以包含函数、类、结构体的详细说明,以及函数的参数、返回值等相关信息。
三、函数注释的格式在d ox yg en中,函数注释的格式规范是非常重要的,它能够决定最终生成的文档内容的结构和格式。
下面是一些常用的函数注释格式:1.函数说明/***@br ie f函数功能说明*@pa ra m参数1参数1的说明*@pa ra m参数2参数2的说明*@re tu rn返回值的说明*/在函数注释的第一行可以使用`@br ie f`标签来说明函数的功能,后续可以使用`@pa ra m`标签来说明函数的参数,使用`@re tu rn`标签来说明函数的返回值。
2.参数说明/***@pa ra m参数1参数1的说明*@pa ra m参数2参数2的说明*/在函数注释中,使用`@pa ra m`标签来说明函数的参数,可以对每个参数进行详细的说明。
3.返回值说明/***@re tu rn返回值的说明*/使用`@re tu rn`标签来说明函数的返回值,可以对返回值的含义进行说明。
四、示例下面是一个示例函数的注释格式:/***@br ie f计算两个整数的和*@pa ra ma第一个整数*@pa ra mb第二个整数*@re tu rn两个整数的和*/i n ta dd(i nt a,in tb){r e tu rn a+b;}通过以上的注释格式,我们在生成文档时就能够清晰地了解函数的功能、参数和返回值。
doxygen讲解

取消选项,不然会 显示全路径:如图1.
图1
专家(Expert)模式
专家(Expert)对话框----Messages相关选项
让 doxygen 静悄悄地为你生成文 档,只有出现警告或错误时,才在 终端输出提示信息(不选择). 将WARN_LOGFILE填写为error.txt。 这样,Doxygen会将编译时出现的警 告和错误保存在error.txt ,这样 可以对照修改。
Doxygen生成效果
return 指令操作符讲解
return:指定函数返回说明指令操作符。 return格式如下: @return 简要说明
例: /** * 写入文件 * @Param [in] file 文件编号 * @Param [in] buffer 存放将要写入的内容 * @Param [in] len写入长度 * @return 返回写入的长度 * - -1 表示写入失败 */ int WriteFile(int file, const char* buffer, int len);
note 指令操作符讲解
note:指定函数注意项事或重要的注解指令操作符。
note格式如下: @note 简要说明
例: /** *打开文件函数 *@Param [in] name 文件名 *@Param [in] “rb” 打开模式 *@return 返回文件编号 *- -1表示打开文件失败 *@note 文件打开成功后,必须使用 CloseFile 函数关闭 */ int OpenFile(U8* file_name, U8* file_mode);
专家(Expert)模式
专家(Expert)对话框----Input相关选项
指定输入源文件目录(INPUT).
什么是Doxygen

什么是Doxygen?Doxygen 是一个程序的文件产生工具,可将程序中的特定批注转换成为说明文件。
通常我们在写程序时,或多或少都会写上批注,但是对于其它人而言,要直接探索程序里的批注,与打捞铁达尼号同样的辛苦。
大部分有用的批注都是属于针对函式,类别等等的说明。
所以,如果能依据程序本身的结构,将批注经过处理重新整理成为一个纯粹的参考手册,对于后面利用您的程序代码的人而言将会减少许多的负担。
不过,反过来说,整理文件的工作对于您来说,就是沉重的负担。
一个好的程序设计师,在写程序时,都会在适当的地方加上合适的批注。
如果,能够在撰写批注时,稍微符合某种格式,接着就可以透过一个工具程序依据程序结构及您的批注产生出漂亮的文件。
这将令许多工作繁重的程序设计师有时间多喝几杯咖啡。
Doxygen 就是这样的一个工具。
在您写批注时,稍微按照一些它所制订的规则。
接着,他就可以帮您产生出漂亮的文件了。
因此,Doxygen 的使用可分为两大部分。
首先是特定格式的批注撰写,第二便是利用Doxygen的工具来产生文件。
目前Doxygen可处理的程序语言包含:•C/C++•Java•IDL (Corba, Microsoft及KDE-DCOP类型)而可产生出来的文件格式有:•HTML•XML•LaTeX•RTF•Unix Man Page而其中还可衍生出不少其它格式。
如有了LaTeX 文件后,就可以透过一些工具产生出PS或是PDF档案。
在多国语言的支持方面,Doxygen 目前可支持的约有2,30种。
自Doxygen 1.2.16开始支持繁体中文(这正是小弟做的好事)。
所以在目前一些Open Source 的程序文档管理器中,Doxygen 算是相当完整的一套。
在程序语言处理上面,Doxygen也算是少数在Borland C++ Builder 的语法下还能够正常运作的工具之一(若非如此,小弟也不会推荐它)。
本文的目的是希望在经过仔细阅读本文之后能够给大家一个概略性的了解。
doxygen 函数代码单行注释

在软件开发中,注释是一种非常重要的编程实践,它可以帮助开发者更好地理解代码、提高代码可读性和可维护性。
而在注释中,函数代码的单行注释是一种常见的方式,它可以在一行内就给出对函数的解释和说明。
让我们来看一下什么是Doxygen。
Doxygen是一个广泛使用的工具,它可以从C++、C、Java等多种程序中提取注释,文档化代码。
这个工具能够以较为规范的方式记录代码注释,并生成代码文档。
在Doxygen中,函数代码的单行注释可以被视为标准的注释格式,从而可以被Doxygen正确地解析和转换为文档。
在实际使用Doxygen进行代码注释时,我们需要注意一些关键点。
首先是注释的格式。
对于函数的单行注释,我们通常会在函数定义的上方,使用连续两个斜杠“//”来注释。
接着是对函数的简要说明,包括函数的功能、参数和返回值等。
在Doxygen中,我们可以使用一些特定的标签来标记函数的参数和返回值,例如@param和@return等。
在撰写函数代码单行注释时,我们应该尽量做到深度和广度兼具。
深度上,我们应该从简单的功能和语法说明开始,逐步深入到函数的应用场景、注意事项、使用示例等方面。
而在广度上,我们应该考虑到不同读者的需求,包括初学者、中级开发者和专业开发者等,从而使得注释能够满足不同层次的读者对函数的理解和运用。
从个人角度来看,函数代码的单行注释是一种非常有效的注释方式,它能够在短时间内给出对函数功能和使用方法的简明说明。
但需要注意的是,单行注释可能有字数限制,无法提供过多细节,这就需要在其他地方进行补充说明。
单行注释也容易被滥用,因此在撰写过程中,我们需要注意控制注释的长度和内容,避免出现冗长、无用的注释。
总结而言,Doxygen的函数代码单行注释是非常有价值的,它能够帮助我们更好地理解和使用函数。
在注释时,我们需要遵循规范的格式和标签,做到深度和广度兼具,以满足不同读者的需求。
我希望未来在撰写代码注释时,能够更加注意注释的质量和适用性,让注释真正成为代码文档中的宝贵财富。
C++ doxygen讲解

模块定义(单独显示一页 )
模块定义格式:
/** * @defgroup 模块名 页的标题名 * @{ 跟c语言{一样起作用域功能. */ … 定义的内容 … /** @} */
模块名只能英文,这个可以随便取.在 一个源文件里不能相同.
例:
/** * @defgroup aa ebookmain.c * @{ */ … 定义的内容 … /** @} */
变量、宏定义、类型定义注释风格类似。 格式: /** 简要说明文字 */ 变量(宏定义或类型定义)
如: /** 简要说明文字 */ #define FLOAT float
/** „*/这是固定格式,还要注意/**这 2个“**”不能少也不能多。其他注释风 格也是这样的。
“@brief ”是注释指令, “@”也 可以用”\”.
武汉中心项目部培训
文档生成工具
Doxygen注释风格
Doxygen指令目的为了生成更丰富与可读性更强的文档。所 以总结5类常用的注释风格说明。
●变量、宏定义、类型定义。
●枚举类型定义、结构体类型定义类似。
●函数定义。 ●模块定义(单独显示一页
)。 ●分组定义(在一页内分组显示)。
变量、宏定义、类型定义简要说明
pre 指令操作符讲解
pre:指定函数前置条件指令操作符 pre格式如下: @pre 简要说明
例: /** *文件关闭函数 * @param file文件编号。 * @retval 0 表示成功 * @retval -1 表示失败 * @pre file 变量必须使用OpenFile 返回值 */ int CloseFile(int file);
code、endcode指令操作符讲解
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/目录下。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(注:这些工具放在 \\dataserver\开发二部\开发二部_公共盘\白盒测试相关\生成文档 工具 )
/** 简要说明文字 */ 变量(宏定义或类型定义)
/** …*/这是固定格式,还要注意/**这2 个“**”不能少也不能多。其他注释风 格也是这样的。
如: /** 简要说明文字 */ #define FLOAT float
“@brief ”是注释指令, “@”也 可以用”\”.
/** @brief 简要说明文字(在前面加 @brief 是标准格式) */ #define MIN_UINT 0
这三项不要选择
向导(Wizard)模式
向导(Wizard)对话框----Diagrams相关选项
这两个不选择.
全选择.通过这个GraphViz工具生 成图表: (1).类的图表. (2).协作图表. (3).包含文件图表(调用图表). (4).被包含文件图表(被调用图表). (5).整个类层次结构图表. (6).调用图表(函数,文件).
输出语言相当于程序资源,选择
Chinese。
专家(Expert)模式
专家(Expert)对话框----Project相关选项
取消选项,不然会显 示全路径:如图1.
图1
专家(Expert)模式
专家(Expert)对话框----Messages相关选项
让 doxygen 静悄悄地为你生成文 档,只有出现警告或错误时,才在 终端输出提示信息(不选择).
专家(Expert)模式
由于经过向导(Wizard)模式快速的配置,所以专家 (Expert)模式大部分也相应配置好了。
那么,下面主要配置细节问题,其他就不详细介 绍都保持默认选择就可以。
专家(Expert)模式
专家(Expert)对话框----Project相关选项
DOXYFILE_ENCODING是 Doxyfile的文本编码。如果文件中 有中文字符,可以填写GBK。把 UTF-8改为GBK。
类型:enum ,struct
注意,要以 “<” 小于号开头 ,如过不 用“<”,那这行的注释就会被Doxygen 认为是成员2的注释。
注:所有的结构体类型定义要放在枚举类型定义前面。
函数定义
指令格式: 执行符指令操作符
执行符:@或\两个。 指令操作符:param、return、retval、note、 pre、 par、
/** * 分行的简要说明 \n * 这是第二行的简要说明 */ int b;
“\n”作用是回车换行.
注:不文档化局部变量,只文档化全局变量。
枚举类型定义、结构体类型定义
枚举类型定义、结构体类型定义注释风格类似。
格式:
/** 简要说明文字 */ typedef 类型 结构体名字 {
成员1, /**< 简要说明文字 */ 成员2, /**< 简要说明文字 */ 成员3, /**< 简要说明文字 */ }结构体别名;
retval指令操作符讲解
retval:指定函数返回值说明指令操作符。(注:更前面的return有点不同.这里是返回值说明) retval格式如下:
@retval 返回值 简要说明
例:
/** *文件关闭函数 * @param file文件编号。 * @retval 0 表示成功 * @retval -1 表示失败 */ int CloseFile(int file);
附带操作
为了方便运行Doxygen工具与管理.为每个模块创
建一文件夹(如:“TEST”),在TEST文件夹里再创建src、
doc文件夹。Src文件夹存放源文件,doc文件夹存放
Doxygen输出文件。顺便把doxygenWD.bat和Doxygen
配置文件“Doxyfile” 拷贝到doc文件夹下,如果要生
note 指令操作符讲解
note:指定函数注意项事或重要的注解指令操作符。
note格式如下: @note 简要说明
例: /** *打开文件函数 *@Param [in] name 文件名 *@Param [in] “rb” 打开模式 *@return 返回文件编号 *- -1表示打开文件失败 *@note 文件打开成功后,必须使用 CloseFile 函数关闭 */ int OpenFile(U8* file_name, U8* file_mode);
、
这个就是要放置iconv、 fr工具里文 件的路径.(这个路径随自己编写)
安装HTML Help Workshop工具
1.双击运行 htmlhelp.exe; 2.安装软件提示语操作即可; 3. HTML Help Workshop安装完成;
注: HTML Help Workshop工具要安装在这个路径“X:\Program Files\HTML Help Workshop”(X:自己指定).
如果选上,就会连子文件夹的 文件一起生成文当。没选,就 只会生成本文件夹的文件文档.
这里填入生成文档文件输出 路径,这里只填文件夹名字就 可以了.为了大家工作方便, 就规定统一写output文件夹
向导(Wizard)模式
向导(Wizard)对话框----Mode相关选项
选择这个,只生成文档re:指定函数前置条件指令操作符 pre格式如下:
@pre 简要说明
例: /** *文件关闭函数 * @param file文件编号。 * @retval 0 表示成功 * @retval -1 表示失败 * @pre file 变量必须使用OpenFile 返回值 */ int CloseFile(int file);
par指令操作符讲解
par:指定扩展性说明指令操作符讲。(它一般跟code、endcode一起使用 ) par格式如下:
@par 扩展名字
例: /** * 打开文件函数 * @Param [in] name 文件名 * @Param [in] “rb” 打开模式 * @return 返回文件编号 * - -1表示打开文件失败 * @par 示例: * @code //用文本只读方式打开文 int f = OpenFile(”c:\\test.txt”, “rb”); * @endcode */ int OpenFile(U8* file_name, U8* file_mode);
安装Doxygen工具
1.先解压doxygen.rar; 2.双击运行 doxygen-1.5.2-setup.exe; 3.安装软件提示语操作即可; 4.把create_chm.bat、html_foot拷贝到Doxygen安装目录
的bin文件夹里. 5.把 Doxygen安装目录的bin路径放在系统环境变量里; 6.Doxygen安装完成;
图2
选择GENERATE_HTMLHELP后, Doxygen会准备生成chm文件需要的
项目文件、目录文件和索引文件。
专家(Expert)模式
专家(Expert)对话框----Dot相关选项
可以选上UML_LOOK、 CALL_GRAPH和CALLER_GRAPH。 CALL_GRAPH是本函数调用其它函 数的示意图.效果如:图3.
图3
Doxygen注释风格
Doxygen指令目的为了生成更丰富与可读性更强的 文档。所以总结5类常用的注释风格说明。
●变量、宏定义、类型定义。 ●枚举类型定义、结构体类型定义类似。 ●函数定义。 ●模块定义(单独显示一页 )。 ●分组定义(在一页内分组显示)。
变量、宏定义、类型定义简要说明
变量、宏定义、类型定义注释风格类似。 格式:
成文档就双击doxygenWD.bat即可。(模块的目录结构
如下 )
注:Doxygen不支持 中问路径,不要创建 中文路径.
TEST |---- src || | |---- test.c | |---- test.h | |---- doc || | |---- Doxyfile | |---- doxygenWD.bat
例:
/** *文件关闭函数 * @param file文件编号。 */ int CloseFile(int file);
Doxygen生成效果
return 指令操作符讲解
return:指定函数返回说明指令操作符。 return格式如下:
@return 简要说明
例: /** * 写入文件 * @Param [in] file 文件编号 * @Param [in] buffer 存放将要写入的内容 * @Param [in] len写入长度 * @return 返回写入的长度 * - -1 表示写入失败 */ int WriteFile(int file, const char* buffer, int len);
目录
使用Doxygen的目的. 安装Doxygen所需工具. 配置Doxygen Doxygen注释风格
使用Doxygen的目的
生成模块文档,方便以后维护模块代码。 提高代码可读性。 提高项目代码的管理。 省略了自己写readme文件(或文档)。
安装Doxygen所需工具
选择这个,会生成全部实体.因 此,要选择这个. 选择这个,把源文件内容导入 到项目文档里.(建议选择)
选择项目文档输出格式,测试C 语言,就选择个.
向导(Wizard)模式
向导(Wizard)对话框----Output相关选项
生成普通模式的HTML 生成文件列表格的 HTML
生成chm文件格式的 HTML,因此,就选这个. 附带查找功能,一般不选择. 这项没用到,因此把它选择 取消.