Doxygen代码注释规定和生产文档说明

C语言 - Doxygen代码注释规范 什么是Doxygen ; 他有什么作用? Doxygen是一种开源跨平台的,以类似JavaDoc风格描述的文档系统,完全支持C、C++、Java、Objective-C和IDL语言,部分支持PHP、C#。注释的语法与Qt-Doc、KDoc和JavaDoc兼容。Doxgen可以从一套归档源文件开始,生成HTML格式的在线类浏览器,或离线的LATEX、RTF参考手册。 Doxygen 是一个程序的... 阅读详情

http://blog.chinaunix.net/uid-20372841-id-1695818.html

Doxygen是一个程序的文档产生工具,可将程序中的特点注释转换成为说明文件。

安装与初始化

请到http://www.stack.nl/~dimitri/doxygen/doxygen_usage.html上面下载最新版本的doxygen。下载针对Windows 95/98/ME/NT/2000/XP Setup版本,只要给予正确的安装目录,一步一步的安装完成。

Doxygen产生文档分为三个步骤:
a. 为Project建立项目档案;
b. 在程序代码中加上符合Doxygen所定义的注释格式;
c. 使用Doxygen来产生文档;


为你的Project制作Doxygen的项目状态档案,这个所谓项目项目状态档案,格式其实是一些Key与值的设定。
通过doxywizard里面的Wizard可以创建新的项目状态档案,设置项目名字,项目版本号,源代码存放的目录,生成文档的目录。
注意:路径名一定要全英文字,不然识别不了。
通过doxywizard里面的Expert可以对状态档案的Key设置,以下是常用的设置标志:


PROJECT_NAME
Project 的名字,以一個单字为主,多个单字请使用双引号括住
PROJECT_VERSION
Project的版本号
OUTPUT_DIRECTORY
输出路径。产生的文件会放在这个路径之下。如果沒有填这个路径,將会以目前所在路径來作为输出路径。
OUTPUT_LANGUAGE
输出语言。預设为English,1.2.16 版后,您可以使用Chinese來输出中文格式。
INPUT
指定载入或找寻要处理的程序代码目录路径。这个是一个表列式的形态。並且可指定文档及路径。举例來说您有a.c, b.c, c.c 三個文档。您可使用INPUT = a.c, b.c, c.c 的方式。若您給定一個目录,该目录下面所有文档都会被处理。
FILE_PATTERNS
如果您的INPUT Tag 中指定了目录。您可以透过这个Tag來要求Doxygen在处理時,只针对特定的文档进行动作。例如:您希望对目录下的扩展名为.c, .cpp及.h的文档作处理。您可设定FILE_PATTERNS = *.c, *.cpp, *.h。
RECURSIVE
这是一个Bool的Tag,只接受YES或NO。当设定为YES时,INPUT所指定目录的所有子目录都會被处理。
EXCLUDE
如果您有某几个特定文档或是目录,不希望经过Doxygen处理。您可在这个Tag中指定。
EXCLUDE_PATTERNS
类似于FILE_PATTERNS的用法,只是这个Tag是供EXCLUDE所使用。
SOURCE_BROWSER
如果设定为YES,则Doxygen會產生出原始档案的列表。
INLINE_SOURCES
如果设定为YES ,则程序代码也会被嵌入于说明文件中。
ALPHABETICAL_INDEX
如果设定为YES,则一個依照字母排序的列表会加入在产生的文件中。
GENERATE_HTML
若设定为YES ,就会产生HTML版本的說明文件。HTML文件是Doxygen预设产生的格式之一。
HTML_OUTPUT
HTML文件的输出目录。這是一個相对路径,所以实际的路径为OUTPUT_DIRECTORY加上HTML_OUTPUT。这个设定预设为html。
HTML_FILE_EXTENSION
HTML文件的扩展名名。預设为.html。
HTML_HEADER
要使用在每一页HTML文件中的Header。如果沒有指定,Doxygen會使用自己預设的Header。
HTML_FOOTER
要使用在每一页HTML文件中的Footer。如果沒有指定,Doxygen會使用自己預设的Footer。
HTML_STYLESHEET
您可給定一個CSS 的设定,让HTML的输出結果更完美。
GENERATE_HTMLHELP
如设定为YES,Doxygen会产生一个索引档案。这个索引档在您需要制作windows 上的HTML格式的HELP档案时会用的上。
GENERATE_TREEVIEW
若设定为YES,Doxygen会帮您产生一个树型结构,在画面左侧。
TREEVIEW_WIDTH
用來设定树型结构在画面上的宽寬度。
GENERATE_LATEX
设定为YES时,会产生LaTeX 的文件。不过您的系統必需要有安裝LaTeX 的相关工具。
LATEX_OUTPUT
LaTeX文件的输出目录,与HTML_OUTPUT用法相同,一样是指在OUTPUT_DIRECTORY之下的路径。预设为latex。
GENERATE_RTF
若设定为YES ,则会产生RTF 格式的說明档案。
RTF_OUTPUT
与HTML_OUTPUT 用法相同,用來指定RTF 輸出檔案路径。預设为rtf。
GENERATE_MAN
若设定为YES ,则会产生Unix Man Page 格式的說明文件。
MAN_OUTPUT
与HTML_OUTPUT 用法相同,用來指定Man Page的輸出目录。預设为man。
GENERATE_XML
若设定为YES ,则会产生XML 格式的說明文件。
ENABLE_PREPROCESSING
若设定为YES ,则Doxygen 会启动C 的前置处理器來处理原始档案。

保存项目状态,开始生成文档.


编写正确格式的注释说明
头文件头部注释规范,注释必须列出版权说明、版本号、生成日期、作者、内容、功能、与其它文件的关系、修改日志等,头文件的注释中还应有函数功能简要说明:
/////////////////////////////////////////////////////////////////////////////////
/// Copyright (C), 2005-2007.
/// \file WindowsNT
/// \brief Windows Nice Try.
/// \author Bill Gates
/// \author Several species of small furry animals gathered together
/// in a cave and grooving with a pict.
/// \version 4.0
/// \date 1996-1998
/// \warning This class may explode in your face.
/// \warning If you inherit anything from this class, you're doomed.
/// \ClassList:主要函数列表,每条记录应包括函数名及功能简要说明
/// 1. ....
/// \History: 修改历史记录列表,每条修改记录应包括修改日期、修改者及修改内容简述
/// <author> <time> <version > <desc>
/// Hsz 2005/4/12 1.0 build this moudle
////////////////////////////////////////////////////////////////////////////////////

源文件头部注释规范,列出:版权说明、版本号、生成日期、作者、模块目的/功能、主要函数及其功能、修改日志等。示例:下面这段源文件的头注释比较标准,当然,并不局限于此格式,但上述信息建议要包含在内:
/////////////////////////////////////////////////////////////////////////////////
/// Copyright (C), 2005-2007,
/// \file WindowsNT
/// \brief Windows Nice Try.
/// \author Bill Gates
/// \author Several species of small furry animals gathered together
/// in a cave and grooving with a pict.
/// \version 4.0
/// \date 1996-1998
/// \warning This class may explode in your face.
/// \warning If you inherit anything from this class, you're doomed.
/// \Function List:主要函数列表,每条记录应包括函数名及功能简要说明
/// 1. ....
/// \History: 修改历史记录列表,每条修改记录应包括修改日期、修改者及修改内容简述
/// <author> <time> <version > <desc>
/// Hsz 2005/4/12 1.0 build this moudle
/////////////////////////////////////////////////////////////////////////////////




函数头部注释规范,列出:函数的目的/功能、输入参数、输出参数、返回值、调用关系(函数、表)等。示例:下面这段函数的注释比较标准,当然,并不局限于此格式,但上述信息建议要包含在内:
/////////////////////////////////////////////////////////////////////////////////
/// \fn 函数名称
/// \brief 函数功能、性能等的描述.
/// \param[in] 参数 c a char.
/// \param[out] 参数 n an int.
/// \exception 异常 std::out_of_range parameter is out of range.
/// \return 返回值 a char pointer.
/////////////////////////////////////////////////////////////////////////////////


类的头部注释规范:
/////////////////////////////////////////////////////////////////////////////////
/// \class 类名字 类所在文件 "文件路径"
/// \brief 大纲描述.
///
/// 详细描述类的功能
/////////////////////////////////////////////////////////////////////////////////

类成员定义的注释规范:
成员函数
/// A function.
/// A more elaborate description of the constructor.

成员变量
///< a public variable. Details
标准类型的注释规范:
Enum
第一种方法
//////////////////////////////////////////////////
/// \enum TEnum
/// A description of the enum type.
//////////////////////////////////////////////////
enum TEnum {
Val1, /// \var Enum Val1
Val2 /// Enum Val2
};

第二种方法
enum在类内部定义
//////////////////////////////////////////////////
/// \enum An enum
/// More detailed enum description..
//////////////////////////////////////////////////
enum TEnum {
TVal1, ///< enum value TVal1.
TVal2, ///< enum value TVal2.
TVal3 ///< enum value TVal3.
}
*enumPtr, ///< enum pointer. Details.
enumVar; ///< enum variable. Details.

#define macro宏定义
//////////////////////////////////////////////////
/// \def MAX(x,y)
/// Computes the maximum of \a x and \a y.
//////////////////////////////////////////////////

typedef类型定义
//////////////////////////////////////////////////
/// \typedef std::string YString
/// typedef YString.
//////////////////////////////////////////////////

Struct结构
//////////////////////////////////////////////////
/// \struct Test struct.h "inc/ struct.h"
/// \brief This is a test struct.
/// Some details about the Test struct
///////////////////////////////////////////////////

变量定义
///////////////////////////////////////////////////
/// \var int g_nCount
/// The description of the int value.
///////////////////////////////////////////////////
您可依照此规定在你自己的程序代码中加上对应的注释。其实,无论你有没有使用Doxygen ,
都不妨按照他的格式將注释写入,一方面是依照他的格式,並不会甘于您程序的运行。
另一方面,Doxygen 所定义的都是基本程序注释应当要的东西。
如果您使用Doxygen Wizard,可直接使用上面的Run 的按鈕或选项來制作说明文件。
如果是生产HTML文件,在HTML_OUTPUT 所指定的目录中的index.html將是您说明文件的首页。
Doxygen是什么? Doxygen是一款开源跨平台的文档生成工具,能够从代码注释直接生成结构化文档。它通过解析特殊格式的注释(如/**...*/)和代码结构,自动生成HTML、PDF等格式的文档,支持类继承图、函数调用关系等可视化图表。支持多种编程语言,可与主流IDE集成,适合开发团队和个人维护标准化API文档。Doxygen极大提升了代码文档的质量和可维护性,是软件开发中的文档自动化利器。 阅读详情

相关推荐

Doxygen代码注释规范.docx

Doxygen代码注释规范.docx

使用Doxygen生成PDF文档,修改页脚制作者Doxygen方法

fancyfoot[LO, RE]{\bfseries\scriptsize 北京ABC公司 \\ (C) 2025 Company }\fancyfoot[LO, RE]{\bfseries\scriptsize 制作者 Doxygen }3.修改方法,找到 latex 文件夹,找到文件名称为 refman.tex。4. 搜索“制作者” 可找到 3个 需要修改的地方,如下图所示。{\large 制作者 Doxygen 1.13.2}\\。{\large 北京XX公司 }\\。制作者 Doxygen。

myshineOk的博客 331

西门子触摸屏教程wincc flexible2008 sp5 Smart V3 V4中文版软件

西门子触摸屏教程wincc flexible2008 sp5 Smart V3 V4中文版软件

liang007dudu的博客 1万+

【工具】Doxygen代码注释规范

Doxygen文档注释规范

LYP_Tom的博客 3222

ArcGIS+PLUS+InVEST三件套:从零搞定生态系统服务模拟预测(附完整数据包)

本文详细介绍了如何整合ArcGIS、PLUS模型和InVEST模型,构建一套完整的生态系统服务模拟预测工作流。内容涵盖从统一数据预处理、PLUS模型多情景模拟,到InVEST模型量化评估的全过程,并提供了关键脚本和避坑指南,旨在帮助研究者和从业者高效解决土地利用变化与生态系统服务评估结合的实际难题。

weixin_42522857的博客 139

视频监控设备(NVR、IPC等)如何通过国标GB28181接入到视频监控平台,以及接入过程如何测试视频接入是否成功

GB/T28181标准广泛的应用,视频监控设备通过国标GB28181接入视频监控平台的过程变成程序化、标准化的互联过程,确保了视频监控设备能够在不同系统、不同网络环境下实现远程、跨区域、跨级别的访问和控制。版本有GB28181-2011、2016、2022几个常用版本,威迪斯特的视频监控平台完全支持GB28181的这几个版本,能够实现不同品牌视频监控设备的国标视频接入(国标视频监控接入),或者为国标28181视频接入(国标28181视频监控接入),也为国标281818接入(国标GB/T28181接入。

weixin_70208651的博客 1万+

doxygen 注释规范_Doxygen简明注释语法

语法简介Doxygen 是一个程序的文件产生工具,可将程序中的特定批注转换成为说明文件。提供了一套注释方式便于把代码中的注释生成说明文档。很多开源项目都在使用,例如:下面是常用的注释简介。1. 简单注释单行注释:///或者//!多行注释:/**或者/*!2. 文件注释文件注释通常放在整个文件开头。/*** @file 文件名* @brief 简介* @details 细节* @mainpage 工...

weixin_35884307的博客 7462

【全部更新】2025金地杯E题山西省大学生数学建模思路代码文章教学:高速铁路牵引供电系统能耗优化

问题四将列车的运行速度与发车时间同时作为优化变量,建立联合优化模型,目标是在考虑电价机制和调度均衡性的前提下,使牵引供电系统一天内的总电费支出最小。问题三在考虑分时电价机制的基础上,基于遗传算法优化列车速度组合,使牵引供电系统一天内的总电费支出最小。然而,在实际运营中,不同时段的电价差异显著,合理安排列车的运行时间与运行速度,可有效降低系统的总电费支出。本研究聚焦于高速铁路牵引供电系统的能耗与电费优化问题,针对列车运行速度、发车时间与分时电价的综合影响,提出一系列数学模型,以实现系统能耗与电费的最小化。

xb459149247的博客 5289

doxygen 注释规范

在你的注释中加入这样的代码。

布袋和尚 2825

5-->详解《switch 数据接收驱动框架、mtk7621集成交换芯片mt7530》之一

SWITCH 交换芯片驱动配置: 一、 配置 MDIO 总线 二、配置 MAC 接口 三、基于 MAC 的 DMA 配置 四、设备驱动结构体 五、数据收发包

weixin_38387929的博客 1万+

《探秘 BME680温度湿度气压气体传感器模块:环境感知的卓越之选》:此文为AI自动生成

BME680 是一款由博世公司推出的集成环境传感器模块,在环境监测和物联网等领域中发挥着重要作用。它能够同时测量温度、湿度、气压和气体浓度等多个环境参数,为各种应用提供准确可靠的环境数据。该模块采用小巧的封装形式,便于集成到各种设备中,无论是智能家居、可穿戴设备还是工业监测系统,都能轻松适配。例如,在智能家居系统中,BME680 模块可以监测室内环境参数,如温度、湿度、气压和空气质量等。通过与智能家居控制器或智能手机应用程序的连接,用户可以实时了解室内环境状况,并根据需要进行调整。

zheng_ruiguo的专栏 1868

直接把代码写在.h里_Doxygen - 治好了我的代码注释强迫症

在编写大量代码时,或者与多人协作进行开发时,文字记录很重要(文档或注释),尤其对于开发者本人回顾之前写过的代码和 code reviewer 查看。目前,代码中的注释进是程序员们最经常使用的记录方法。但是,由于每个人的注释风格不同,有些开发者甚至对API并不进行任何注释描述,导致很多影响生产效率的问题,也增加了软件维护的成本。很多人对于怎样写注释也会困惑和反感。因此,使用一些代码文档工可以帮助这个...

weixin_39872395的博客 362

PCI Express 权威指南:从协议原理到芯片实现

目录 全文总览第一部分:PCIe体系结构概览第1章 互连技术的演进与PCIe的诞生1.1 从ISA到PCI:并行总线的辉煌与瓶颈1.2 PCI-X的尝试与局限1.3 串行革命:从AGP、PCI到PCIe的范式转移1.4 PCIe的核心优势第2章 PCIe系统全局视角2.1 系统拓扑:Root Complex, Switch, Endpoint的职能与关系2.2 拓扑结构实例:服务器、工作站、嵌入式系统2.3 枚举与配置:系统如何发现和组织PCIe设备2.4 地址空间第3章 PCIe协议分层架构3.1 分层模

qq_42882296的博客 2894

Doxygen文档生成工具

Doxygen代码文档生成工具 文章目录Doxygen代码文档生成工具DoxygenDoxygen的注释vscode插件Doxygen实际使用 Doxygen 根据百度百科说法,Doxygen是一种开源的,跨平台的文档系统,支持C、C++、Java、Objective-C语言,可以生成在线的HTML参考手册或者离线的Latex、RTF参考手册 Doxygen是一种程序的文件产生工具,可以将程序中特定的注释转换成为说明文件。 可以对未归档的源文件,可以通过配置Doxygen来提取代码结构 可以生成依赖

ahelloyou的博客 8749

【嵌入式Linux驱动开发】二十四、Linux I2C 驱动上手尝试

  人的前程关于眼界、关乎格局。   志之所趋,无远弗届,穷山复海不能限也;   志之所向,无坚不入,锐兵精甲不能御也。 一、I2C驱动框架简介   Linux内核将 I2C 驱动分为两部分: ①、 I2C 总线驱动, I2C 总线驱动就是 SOC 的 I2C 控制器驱动,也叫做 I2C 适配器驱动。 ②、 I2C 设备驱动, I2C 设备驱动就是针对具体的 I2C 设备而编写的驱动。 1....

悟已往之不谏 知来者之可追 1068

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Apache Mesos Doxygen 代码注释风格指南:统一公共 API 文档的规范与实践

本篇指南介绍 Apache Mesos 项目为使用 Doxygen 生成 API 文档而制定的源码注释风格规范:采用 Javadoc 语法注释公共接口,限定一组精简的 Doxygen 标签,并给出常量、字段、函数、类等场景的标准写法。读完本文,你将掌握如何在 Mesos、libprocess、stout 三套代码库中书写符合规范的注释,并能通过 `doxygen ../Doxyfile` 从 `b

gitblog_01002的博客 239

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

了解doxygen的注释规范

了解下doxygen这个神器, 怎么安装就不说了,主要在于怎么

雁城布衣 1069

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Vscode函数注释、文件注释格式化文档

使用VScode进行ESP32编程的时候,发现函数注释,文件注释。这些比较麻烦,作为一个软件工程师,你的代码里面必须有比较重要的注释,所以需要使用一些方法来解决这个问题。

Lim的博客 4059

Doxygen注释冲突解决:多人协作时的文档规范统一策略

在多人协作的软件开发项目中,**Doxygen注释冲突**是常见但影响深远的痛点问题。当团队成员使用不同的注释风格、格式规范或文档标准时,不仅会导致生成的文档质量参差不齐,更会严重降低代码的可维护性和团队协作效率。本文为您提供一套完整的解决方案,帮助团队建立统一的Doxygen文档规范体系。 ## 🤔 为什么Doxygen注释冲突如此普遍? 在团队开发环境中,每个开发者都有自己的编码习惯和文

gitblog_00692的博客 865

libcudf C++ 文档编写指南:Doxygen 注释规范与 API 文档构建实践(cuDF)

cuDF 是 NVIDIA 开源的 GPU 加速 DataFrame 库,其 C++ 核心引擎 libcudf 的公开 API 文档全部由源码中的 Doxygen 注释自动生成。本文以 cuDF 仓库中 libcudf 的官方文档指南([cpp/doxygen/developer_guide/DOCUMENTATION.md](https://link.gitcode.com/i/d014082b

gitblog_00239的博客 399

告别混乱注释:Google代码规范教你用Doxygen与JSDoc提升协作效率

在多人协作的开源项目中,代码注释往往是最容易被忽视却至关重要的环节。你是否曾因接手他人代码时缺乏清晰注释而浪费数小时?是否在调试时因无法快速理解函数用途而反复阅读实现逻辑?本文将基于[Google代码规范项目](https://link.gitcode.com/i/abfa60adbc122db22d35eb003ec2d895),详解如何使用Doxygen与JSDoc两大工具构建专业级代码注释体...

gitblog_00006的博客 454

Ceph 文档写作完全指南:从 RST 规范、Doxygen 代码注释到图形化构建

本文是 Ceph 项目贡献者的文档写作规范指南,基于仓库中的 [doc/dev/documenting.rst](https://link.gitcode.com/i/e74d128aaa8061612a1352175d260ea1) 编写,并辅以 [doc/start/documenting-ceph.rst](https://link.gitcode.com/i/3246a095e4932d3

gitblog_00783的博客 303

VSCode结合Doxygen实现高效代码文档自动化

本文详细介绍了如何利用VSCode结合Doxygen搭建高效的代码文档自动化工作流。通过安装配置Doxygen插件、遵循注释规范、配置生成任务,开发者可在熟悉的编辑环境中实现从注释编写到文档发布的全流程自动化,显著提升代码可维护性与团队协作效率。

3c4x5z6v7b的博客 420

Doxygen心得(转)

      doxygen是一款源代码帮助文档生成工具。依靠源代码中的注释,doxygen可以轻松的生成多种格式的帮助文档,供开发者阅读。       doxygen的使用方法很简单:       第一步,需要修改源代码文件,规范现有注释。为了使注释轻松智能的变成可读的文档。doxygen规定了自己的注释格式,这样太才可以解析。最常用的注释格式是:/**  there is com

熊晓杰 -- (暴熊 || kongbu0621 || kongbu0622) 的专栏 4776

Doxygen使用指导

1 doxygen简单说明 doxygen这款工具我就不细说了,总的来说会将代码中的结构体和函数都解析出来,然后会已网页等形式展现,里面我们最关心的是:结构体之间的包含关系、函数之间的调用关系。 官方指导页面在这里:https://www.doxygen.nl/index.html。 他能够支持C/C++,JAVA,Python等一系列语言,然后生成一些html/pdf之类的页面给大家去读取。 2 如何利用doxygen 这么一个好工具,肯定大家都希望用来的,而且这里面用到的规格也比较简单。但是比较遗憾的是

weixin_36406973的博客 996
上一篇: sscanf用法
下一篇: MFC radio控件的使用方法
dumeichen
博客等级 码龄13年 55粉丝 475原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值