C++ 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注释规则1. 简介Doxygen是一种文档生成工具,能从源代码中提取结构、关系等信息,并生成API文档。

Doxygen可以对C、C++、Java、Python等语言的代码进行注释,帮助开发者理解复杂的代码结构和函数之间的关系。

本文档将详细介绍Doxygen的注释规则,以帮助开发者更有效的使用该工具。

2. 文件注释Doxygen支持在每个源文件中添加一个全局的文件注释。

这个注释会被Doxygen用来生成目录页。

格式如下:/*** @file example.cpp* @brief Example description* @author Your Name* @date Date of creation* @version V1.0* @brief This is a brief description of the file.*/3. 类和结构体注释对于类和结构体,Doxygen需要使用`@class`或`@struct`命令。

同时,也需要提供类的简短描述和详细描述。

格式如下:/*** @class MyClass* @brief A brief description of MyClass.* Detailed description...*/4. 类成员变量和函数注释对于类的成员变量和函数,Doxygen使用`@var`、`@member`、`@param`、`@return`等命令。

这些命令后面都需要接上描述信息。

格式如下:/*** @var int myVar This is a variable description.* @member void MyClass::myFunction() This is a function description.* @param int x This is a parameter description.* @return int This is a return value description.*/5. 特殊注释标签Doxygen还提供了一些特殊的注释标签,如`@todo`、`@bug`、`@deprecated`等,用于标记代码的特殊状态。

doxygen格式进行函数注释的格式

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;}通过以上的注释格式,我们在生成文档时就能够清晰地了解函数的功能、参数和返回值。

C++ 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配置文件说明
PROJECT_NAME = “M2 List”
# 文档版本号,可对应于项目版本号,譬如 svn、cvs 所生成的项目版本号
PROJECT_NUMBER = "1.0.0"
# 程序文档输出目录,产生的文件会放在这个路径之下。如果没有填这个路径,将会以目前所在路径作为输出路径
TYPEDEF_HIDES_STRUCT = YES
# 在 C++ 程序文名字空间这样的概念,所以此处设置为 YES
HIDE_SCOPE_NAMES = YES
# 让 doxygen 静悄悄地为你生成文档,只有出现警告或错误时,才在终端输出提示信息
QUIET = YES
#指定加载或找寻要处理的程序代码文件路径。这边是一个表列式的型态。并且可指定档案及路径
INPUT = src
# 如果INPUT Tag 中指定了目录,可以透过这个Tag来要求Doxygen在处理时,只针对特定的档案进行动作。例如:希望对目录下的扩展名为.c, .cpp及.h的档
# 在程序文档中允许以图例形式显示函数调用关系,前提是你已经安装了 graphviz 软件包
HAVE_DOT = YES
CALL_GRAPH = YES
CALLER_GRAPH = YES
#案作处理。可设定FILE_PATTERNS = *.c, *.cpp, *.h
FILE_PATTERNS = *.c\
*.h
#是否允许源程序在程序文档中产生
SOURCE_BROWSER = YES
# 递归遍历当前目录的子目录,寻找被文档化的程序源文件
RECURSIVE = YES
# 允许程序文档中显示本文档化的函数相互调用关系
REFERENCED_BY_RELATION = YES

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 的名字,以⼀个单词为主,多个单词请使⽤双引号括住。

基于Doxygen的CC++注释原则

基于Doxygen的CC++注释原则

*
* along with OST. If not, see </licenses/>.
*
*
*
* Unless required by applicable law or agreed to in writing, software *
* distributed under the License is distributed on an "AS IS" BASIS,
*
* Copyright (C) 2014 Henry.Wen renhuabest@.
*
*
*
* This file is part of OST.
*
*
*
* This program is free software; you can redistribute it and/or modify *
// API Export/Import Macros
//---------------------------------------------------------------------------
/** Indicates an exported and imported shared library function. */
*
*
*
* @file Example.h
*
* @brief 对文件的简述
*
* Details.
*ቤተ መጻሕፍቲ ባይዱ
*
*
* @author Henry.Wen
*
* @email renhuabest@
*
* @version 1.0.0.1(版本号)
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

retval指令操作符讲解
retval:指定函数返回值说明指令操作符。(注:更前面的return有点不同.这里是返回值说明) retval格式如下: @retval 返回值 简要说明 例:
/** *文件关闭函数 * @param file文件编号。 * @retval 0 表示成功 * @retval -1 表示失败 */ int CloseFile(int file);
分组定义(在一页内分组显示)
分组定义格式:
/** * @name 分组说明文字 * @{ */ … 定义的内容 … /** @} */
例: /** *@name 文件名常量 *@{ */ #define FILE_NAME “B:\\test.txt” /** @}*/ /** *@name 系统常量 *@{ */ #define SYS_COUT 5 /** @}*/
“::”是指定有连接 功能.可以看文档里 的OpenFile变成绿. 点击它可以跳转到 OpenFile.
deprecated指令操作符讲解
deprecated:指定函数过时指令操作符。 deprecated格式如下: @deprecated 简要说明
例: /** *文件关闭函数 * @param file文件编号。 * @retval 0 表示成功 * @retval -1 表示失败 * @deprecated 由于特殊的原因,将来的版本中取消。 */ int CloseFile(int file);
模块定义(单独显示一页 )
模块定义格式:
/** * @defgroup 模块名 页的标题名 * @{ 跟c语言{一样起作用域功能. */ … 定义的内容 … /** @} */
模块名只能英文,这个可以随便取.在 一个源文件里不能相同.
例:
/** * @defgroup aa ebookmain.c * @{ */ … 定义的内容 … /** @} */
see指令操作符讲解
see:指定参考信息。 see格式如下: @see 简要参考内容
例: /** *文件关闭函数 * @param file文件编号。 * @retval 0 表示成功 * @retval -1 表示失败 * @pre file 变量必须使用OpenFile 返回值 * @see 函数::OpenFile */ int CloseFile(int file);
/** 简要说明文字 */ typedef 类型 结构体名字 { 成员1, /**< 简要说明文字 */ 成员2, /**< 简要说明文字 */ 成员3, /**< 简要说明文字 */ }结构体别名;
注:所有的结构体类型定义要放在枚举类型定义前面。
类型:enum ,struct
注意,要以 “<” 小于号开头 ,如过不 用“<”,那这行的注释就会被Doxygen 认为是成员2的注释。
-、#、::指令操作符讲解
-:生成一个黑心圆. -#:指定按顺序标记。
:::指定连接函数功能。(注:空格和“:”有连接功能,但建议还是使用”::”。只对函数有用。)
它们格式如下: (-和::例子前面有了,就介绍-#例子。) - 简要说明 -# 简要说明 ::函数名
例: /** * @param [in] p 只能输入以下参数: * -# a:代表一功能 * -# b:代表二功能 * -# c:代表三功能 */ Void Test_File(U8 p);
/** @brief 简要说明文字(在前面加 @brief 是标准格式) */ #define MIN_UINT 0 /** * 分行的简要说明 \n * 这是第二行的简要说
注:不文档化局部变量,只文档化全局变量。
枚举类型定义、结构体类型定义
枚举类型定义、结构体类型定义注释风格类似。 格式:
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);
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注释风格
Doxygen指令目的为了生成更丰富与可读性更强的文档。所 以总结5类常用的注释风格说明。
●变量、宏定义、类型定义。
●枚举类型定义、结构体类型定义类似。
●函数定义。 ●模块定义(单独显示一页
)。 ●分组定义(在一页内分组显示)。
变量、宏定义、类型定义简要说明
变量、宏定义、类型定义注释风格类似。 格式: /** 简要说明文字 */ 变量(宏定义或类型定义)
如: /** 简要说明文字 */ #define FLOAT float
/** „*/这是固定格式,还要注意/**这 2个“**”不能少也不能多。其他注释风 格也是这样的。
“@brief ”是注释指令, “@”也 可以用”\”.
结束语
pre 指令操作符讲解
pre:指定函数前置条件指令操作符 pre格式如下: @pre 简要说明
例: /** *文件关闭函数 * @param file文件编号。 * @retval 0 表示成功 * @retval -1 表示失败 * @pre file 变量必须使用OpenFile 返回值 */ int CloseFile(int file);
函数定义
指令格式: 执行符指令操作符
执行符:@或\两个。 指令操作符:param、return、retval、note、 pre、 par、code、 endcode、see、deprecated。(其实还有很多,这里的指令操作 符已经够我们函数用了,所以不再列举。) 特殊符号指令符:-、#、::。(这三符号对于我们也够用了)
note 指令操作符讲解
note:指定函数注意项事或重要的注解指令操作符。
note格式如下: @note 简要说明
例: /** *打开文件函数 *@Param [in] name 文件名 *@Param [in] “rb” 打开模式 *@return 返回文件编号 *- -1表示打开文件失败 *@note 文件打开成功后,必须使用 CloseFile 函数关闭 */ int OpenFile(U8* file_name, U8* file_mode);
Param 指令操作符讲解
Param:指定函数参数指令操作符。 Param 格式如下:
@param 参数名 参数说明 @param [in] 参数名 参数说明 @param [out] 参数名 参数说明
例:
/** *文件关闭函数 * @param file文件编号。 */ int CloseFile(int file);
code、endcode指令操作符讲解
code、endcode:指定 code、endcode格式如下: @code 简要说明(内容) @endcode
例: /** * 打开文件函数 * @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);
相关文档
最新文档