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(版本号)

doxygen结构体字段注释

doxygen结构体字段注释

doxygen结构体字段注释1.简介在软件开发中,注释是非常重要的一部分。

注释能够使代码更易读、易理解、易维护,并且提供了关键信息以支持代码文档化。

do x yg en是一种流行的文档生成工具,它可以帮助开发人员生成结构化文档,并且支持多种编程语言。

本文将介绍如何使用do x yg en来注释结构体字段。

2.注释结构体字段的重要性在软件开发中,结构体用于表示一组相关的数据,并且往往具有多个字段。

注释结构体字段的作用如下:1.提供字段的详细说明:通过注释,开发人员可以清楚地了解字段的用途、类型、取值范围等信息,有助于开发人员更快地理解和使用结构体。

2.生成结构化文档:通过d ox yg en生成的文档,可以在需要的时候查看结构体字段的详细说明,方便其他开发人员阅读代码。

3.支持自动化文档生成:d ox yg en可以根据注释自动生成结构化的文档,避免了手动编写文档的繁琐工作,提高了开发效率。

3.注释结构体字段的方法在C/C++中,可以使用d ox yg en的注释格式对结构体字段进行注释。

```c/***@br ie f字段描述**字段详细说明*/i n tf ie ld;```以上示例代码中的注释采用了do xy ge n的注释格式:-`@b ri ef`:字段的简要描述。

-`字段详细说明`:字段的详细说明。

可以使用多行文字描述字段的用途、类型、取值范围等信息。

4.示例以下是一个结构体的字段注释示例:```c/***@br ie f学生信息结构体*/s t ru ct St ud en t{/***@br ie f姓名**学生的姓名。

*/c h ar na me[20];/***@br ie f年龄**学生的年龄,取值范围为[1,99]。

*/i n ta ge;/***@br ie f分数**学生的分数,取值范围为[0,100]。

*/f l oa ts co re;};```在上述示例中,通过d ox yg en的注释格式对结构体字段进行了注释。

doxygen使用示例

doxygen使用示例

在 ubuntu 下直接 sudo apt-get install doxygen doxygen-doc graphviz 即可安装好这两个软件。此时,doxygen 的文档就可以在/usr/share/doc 下找到 2)安装这两个软件 假设分别安装在 C:\Program Files\doxygen 和 C:\Program Files\ATT\Graphviz 3)写一个示例小程序 try.cpp /** * try.cpp * a simple demo for doxygen */ #include <stdio.h> /** * the base class Shape */ class Shape{ public : /** * the constructor */ Shape(){} /** * the destructor */ ~Shape(){} /** * the Draw method */ virtual void Draw(){ printf("shape..\n");} }; /** * the concrete class Rectangle */ class Rectangle:public Shape{ public :
(一)简介 Doxygen 可以从 C++, java 等源代码中提取消息来生成帮助文档, API 资料等。Doxygen 辅于 Graphviz 的 dot 小工具,则可以自动生成ቤተ መጻሕፍቲ ባይዱUML 的类图等。 (二)quick start 以下,是在 windows 平台下的 demo 介绍。linux 下,步骤类同。 示例 1)下载 Doxygen http://www.stack.nl/~dimitri/doxygen/index.html doxyen 主页 下载 Graphviz(如果你不需要生成 UML 图的话,就不是必需的。不过,偶建议大家也下载一下吧) / Graphviz - Graph Visualization Software

代码注释规范之Doxygen

代码注释规范之Doxygen

代码注释规范之Doxygen1.Doxygen简介Doxygen是⼀个程序的⽂档产⽣⼯具,可以将程序中的注释转换成说明⽂档或者说是API参考⼿册,从⽽减少程序员整理⽂档的时间。

当然这⾥程序中的注释需要遵循⼀定的规则书写,才能让Doxygen识别和转化。

⽬前Doxygen可处理的程序语⾔包含C/C++、Java、Objective-C、IDL等,可产⽣出来的⽂档格式有HTML、XML、LaTeX、RTF等,此外还可衍⽣出不少其它格式,如HTML可以打包成CHM格式,⽽LaTeX可以通过⼀些⼯具产⽣出PS或是PDF⽂档等。

2.2.Doxygen安装及使⽤安装列表:Doxygen:下载地址,HTML Help:微软官⽅⽤于⽣成HTML格式的help⽂件,下载地址,Graphviz:⼀种dot⼯具可以⽤来渲染出效果更好的图表,下载地址,windows上安装很简单,⽆需特别设置。

2.1 Doxygen设置1.向导2.专家设置2.1 Project每个配置项均有详细⿏标放置时均有详细注释,以下是我的设置可供参考,特别注意语⾔,避免中⽂乱码2.2 BuildEXTRACT_ALL 表⽰:输出所有的函数,但是private和static函数不属于其管制。

EXTRACT_PRIVATE 表⽰:输出private函数。

EXTRACT_STATIC 表⽰:输出static函数。

同时还有⼏个EXTRACT,相应查看⽂档即可。

HIDE_UNDOC_MEMBERS表⽰:那些没有使⽤doxygen格式描述的⽂档(函数或类等)就不显⽰了。

当然,如果EXTRACT_ALL被启⽤,那么这个标志其实是被忽略的。

INTERNAL_DOCS 主要指:是否输出注解中的@internal部分。

如果没有被启动,那么注解中所有的@internal部分都将在⽬标帮助中不可见。

CASE_SENSE_NAMES 表⽰:是否关注⼤⼩写名称,注意,如果开启了,那么所有的名称都将被⼩写。

doxygen的使用说明

doxygen的使用说明

Doxygen的使用说明一、安装Doxygen所需工具经我安装测试推荐如下软件版本:注:HTML Help Workshop工具要安装在这个路径“X:\Program Files\HTML Help Workshop”(X:自己指定)。

二、附带操作为了方便运行Doxygen工具与管理,为每个模块创建一文件夹,我将此文件夹命名为Test,在Test文件夹里再创建src和doc文件夹。

Src文件夹主要存放源文件,doc文件夹主要放置Doxygen输出文件。

注:Doxygen不支持中文路径,所以路径中不要出现中文字符。

三、配置DoxygenDoxygen中有很多详细的功能,很多是不需要的,因为我们接触的一般是C++和C所以我主要介绍Doxygen关于此两个方面的用法。

相关详细的配置教程网上有很多也很容易,所以这里就不再赘述,如下文件doxygen-1.8.6-setup\Test\doc\Doxyfile是我的一个配置文件,可以直接放到Test文件下的doc文件里,用户只需打开这个配置文件就完成了Doxygen的配置。

如果只为C和C++做注释时,只需修修改如下内容即可。

首先打开Doxygen,如下图所示:单击File项选择open,选择你将Doxyfile配置文件所放的路径,找到doxyfile配置文件,然后打开,你的Doxygen就完成了基本的配置,不过有几处需要修改,下面我详细介绍下:Project name:项目名称,将作为所生成的程序文档首页标题Project version or id:文档版本号和可对应项目版本号Source code directory:存放要生成项目文档的项目源文件路径,推荐放到已建立的Src文件里Destination directory:生成文档输出路径,我设置的是输出到桌面的output文件夹里,推荐放到已建立的doc文件夹里。

单击Mode选项,如图所示:如果只用到C++则不需改动,如用到其它语言则选择相应的选项。

自动生成帮助文档工具——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的使用与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是基于GPL的开源项目,是一个非常优秀的文档系统,当前支持在大多数unix(包括linux),windows家族,Mac系统上运行,完全支持C++, C, Java, IDL(Corba和Microsoft 家族)语言,部分支持PHP和C#语言,输出格式包括HTML、latex、RTF、ps、PDF、压缩的HTML和unix manpage,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使用简介(C,C++为代码作注释)

doxygen使用简介(C,C++为代码作注释)

doxygen使⽤简介(C,C++为代码作注释)doxygen注释块doxygen注释块其实就是在C"C++注释块的基础添加⼀些额外标识, 使doxygen把它识别出来, 并将它组织到⽣成的⽂档中去。

在每个代码项中都可以有两类描述, 这两类描述将在⽂档中格式化在⼀起: ⼀种就是brief描述, 另⼀种就是detailed。

两种都是可选的,但不能同时没有。

顾名思义, 简述(brief)就是在⼀⾏内简述地描述。

⽽详细描述(detailed description)则提供更长, 更详细的⽂档。

在doxygen中, 有多种⽅法将注释块标识成详细描述:1. 你可以使⽤JavaDoc风格, 即在C风格注释块开始使⽤两个星号'*', 就像这样:2. /**3. * ... 描述 ...4. */5. 或者你使⽤Qt风格代码注释, 即在C风格注释块开始处添加⼀个叹号'!':6. /*!7. * ... 描述 ...8. */注释块中间的星号是可选, 所以将注释块写成:/*!... 描述 ...*/同样也是有效的.9. 第三种⽅法就是使⽤连续两个以上C++注释⾏所组成的注释块, ⽽每个注释⾏开始处要多写⼀个斜杠或写⼀个叹号。

像下⾏这样:10.///11./// ... 描述 ...12.///或者//!//!... 描述 ...//!13. ⼀些⼈喜欢使他们的注释块在⽂档中显得更为显⽬, 所以你也可以这么做:14./////////////////////////////////////////////////15./// ... 描述 ...16./////////////////////////////////////////////////简述同样也可以同种写法:1. ⼀种是在⼀个doxygen注释块中使⽤ . 这个命令只对当前⼀个⽂字段有效, 所以详细描述应该与之间隔⼀个空⾏.像这样:/*! "brief 这⾥是简要描述.* 这⾥仍然是简要描述.** 详细描述从这⾥开始.*/2. 如果在doxygen配置⽂件将设置成YES。

使用Doxygen彻底解决生成的chm文件导航栏中文乱码问题

使用Doxygen彻底解决生成的chm文件导航栏中文乱码问题

方法一:使用doxygen为C/C++程序生成中文文档转自按照约定的格式注释源代码,用工具处理注释过的源代码产生文档。

通过这种方式产生文档至少有以下好处:∙便于代码和文档保持同步。

∙可以对文档做版本管理。

很多编程语言都有类似的文档工具,例如:Java有javadoc,Ruby有rdoc。

对于C/C++程序,我们可以用Doxygen生成文档。

本文通过为一个C++程序“谁养鱼”建立文档,介绍了怎样在Windows平台使用Doxygen。

Doxygen比较适合制作API的接口文档,CHM是这类文档的常见格式。

最新版本的Doxygen(目前是1.5.2)统一采用UTF-8作为输出文件的编码格式,但微软的CHM编译工具不支持UTF-8,这就为制作中文CHM文档带来麻烦。

本文提出了解决这个问题的方法。

1 Doxygen简介1.1 要做什么使用Doxygen生成文档,主要是两件事:1.写一个配置文件(Doxyfile)。

一般用Doxywizard生成后,再手工修改。

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

然后只要执行命令:doxygen Doxyfile就可以了。

输入文件、输出目录、参数等都是在Doxyfile中配置的。

1.2 得到什么Doxygen的输出格式主要有HTML、LATEX、RTF等:∙Doxygen在输出HTML文档时,可以自动准备用于制作CHM的项目文件(.hhp)、目录文件(.hhc)和索引文件(.hhk)。

用HTML Help Workshop 中的CHM编译器(hhc.exe)编译后生成CHM文件。

∙Doxygen在输出LATEX文档的同时准备了转换到pdf格式的makefile。

只要系统安装了合适的TEX工具,就可以从LATEX文档生成pdf文档。

∙Doxygen输出的RTF格式,已经针对Word作了优化,可以较好地转换到Word文档。

1.3 需要什么完成本文的范例需要以下工具:1.Doxygen的最新版本,可以从Doxygen的网站下载。

doxygen讲解文档

doxygen讲解文档

Doxygen讲解文档为代码写注释一直是大多数程序员有些困扰的事情。

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

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

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

而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文档系统。

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

以下以linux下的C++语言为例进行介绍,以下讨论基于doxygen1.3.3。

样式表文件Orignl_doxygen.css、green_doxygen.css、yellow_doxygen.css、Blue_doxygen.css,改文件名为doxygen.css后,拷贝到生成html文档的目录内可以改变文档显示的样式。

1. doxygen使用步骤由于只是工具的使用,这里不介绍它的原理,直接从使用步骤开始。

Doxygen的使用步骤非常简单。

主要可以分为:1)第一次使用需要安装doxygen的程序doxygen的安装非常简单,linux下可以直接下载安装包运行即可,下载源代码编译安装也是比较通用的编译安装命令。

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/目录下。

  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);
相关文档
最新文档