程序员的很多文档,特别是有代码的文档,绝大部分都是由一款文档生成工具【Doxygen】生成。
什么是Doxygen?
Doxygen 是一个程序的文件产生工具,可将程序中的特定批注转换成为说明文件。通常我们在写程序时,或多或少都会写上批注,但是对于其它人而言,要直接探索程序里的批注,与打捞铁达尼号同样的辛苦。 大部分有用的批注都是属于针对函式,类别等等的说明。所以,如果能依据程序本身的结构,将批注经过处理重新整理成为一个纯粹的参考手册,对于后面利用你的程序代码的人而言将会减少许多的负担。不过,反过来说,整理文件的工作对于你来说,就是沉重的负担。简而言之,Doxgen就是大名鼎鼎的文档生成工具,而且是免费开源的,它使用非常方便,能提取C++,Java,Objective-C,Python,IDL,PHP,C#等语言的注释,从而生成文档。 Doxygen 的使用可分为两大部分。首先是特定格式的批注撰写,第二便是利用Doxygen的工具来生成文档。
生成文档使用教程
1、安装
在Linux下可以通过apt install doxygen安装命令行工具,然后用apt install doxygen-gui安装图形界面。 对Linux用户来说,命令行工具可以通过doxygen命令运行,而图形界面可以通过doxywizard命令运行。 Windows 用户的下载地址:http://www.doxygen.nl/download.html 2、基本使用 图形工具的基本使用如下图所示,有非常多的配置选项,这里我们只填入必要的配置,其它配置都用默认值。

doxywizard使用步骤

doxywizard使用步骤
工作目录如下:
.
├──out
└── src
└── math.h
其中math.h代码如下:
/*! file math.h */
/*!
用于求一个角度的sin值,输入是字符串以便同时支持弧度制和角度制表示
li 弧度制用pi表示,例如:2pi表示一圈、0.5pi表示直角
li 角度制用d结尾,例如:360d表示一圈、90d表示直角
li 输入也可以是数值,例如:输入3.14159大约表示180度
param a 用弧度制或角度制表示都行,字符串必须用'�'表示结束
param[out] res 是输出参数,用于保存sin运算的结果
eturn 错误码,0表示成功,其它表示失败
odo 在xxx的情况下存在BUG,预计下一版本修复
*/
intsin(char*a,double*res);
Doxygen生成的HTML会放到
out目录下,生成的HTML如下图所示。

HTML界面
3、保存配置 上面我们配置了一些选项,也成功生成了HTML文档。我们希望下次代码改动后能够继续沿用上次配置,那么我们可以把这些配置保存成Doxyfile文件,如下图所示。

保存Doxyfile配置文件
4、命令行运行Doxygen 有了配置文件后我们完全可以通过命令行来生成API文档,假设配置文件名为Doxyfile,那么我们只需要执行doxygen /path/to/Doxyfile即可生成API文档。 通过命令行生成文档有许多好处,其中最主要的好处就是:能够集成到持续集成之类的自动化系统中。为代码编写注释
1.什么样的注释会被Doxygen识别?
Doxygen能识别这几种风格的注释:
/**
* ... text ...
*/
/*!
* ... text ...
*/
///
/// ... text ...
///
//!
//!... text ...
//!
文件的开头必须有文件注释,否则该文件不会被识别:
/*! file math.h */
2.注释怎么写 这里建议参考官网例子。
https://www.doxygen.nl/manual/doxygen_usage.html
为其它编程语言生成注释
Doxygen主要支持C语言,其它语法跟C差不多的语言(如:C++/C#/PHP/Java)也能够支持,我们称这类语言为「C语系语言」。而哪些跟C语法差异较大的语言叫做「非C语系语言」。 对于大多非C语系语言,Doxygen都是支持的,Doxygen原生支持这些语言:IDL、Java、Javascript、C#、C、C++、D、PHP、Objective-C、Python、Fortran、VHDL。 万一项目需要的语言(例如:Lua)Doxygen官方并不支持,那么只能自行编写「第三方语言扩展」来支持了。 1.Doxygen官方支持的语言见下图,文件名符合FILE_PATTERNS都会被处理。其中包括了.c、.h、.py等等。



2.Doxygen官方不支持的语言 以Lua语言为例,它的代码是长这样的:
可以看到Lua的语法既不像C也不像Python。 审核编辑 :李倩-- file lmath.h--[[用于求一个角度的sin值,输入是字符串以便同时支持弧度制和角度制表示li 弧度制用pi表示,例如:2pi表示一圈、0.5pi表示直角li 角度制用d结尾,例如:360d表示一圈、90d表示直角li 输入也可以是数值,例如:输入3.14159大约表示180度param a 字符串类型,表示角度,用弧度制或角度制表示都行eturn 返回sin运算的结果odo 在xxx的情况下存在BUG,预计下一版本修复--]]function sin(a)return 1.123end
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
开源
+关注
关注
3文章
4033浏览量
45573 -
C++
+关注
关注
22文章
2122浏览量
76714
原文标题:一款常用文档生成工具:Doxygen
文章出处:【微信号:strongerHuang,微信公众号:strongerHuang】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
热点推荐
如何选择适合的智驾仿真工具进行场景生成和测试?
工具的性能与特点,以帮助开发者优化自动驾驶系统的测试效率与安全性。 在选择适合的智驾仿真工具进行场景生成和测试时,开发者需要对工具的多项特性进行全面理解和评估。 首先,高精度场景重建是
不只有AI协作编程(Vibe Coding):生成式系统级芯片(GenSoC)将如何把生成式设计推向硬件层面
但是否能将这种生成式的、目标驱动的方法从软件层向下延伸呢?这一理念是否可以直接应用于硬件本身呢?通过GenSoC,开发者可用自然语言或高级模型描述系统行为,XMOS的工具链将自动生成确
英飞凌IPOSIM平台加入基于SPICE的模型生成工具,助力提升系统级仿真精度
与热特性。目前,该平台已集成一款基于SPICE(电路仿真程序)的模型生成工具,可将外部电路和栅极驱动器选型纳入系统级仿真。该工具通过充分考虑器件的非线性半导体物理特
HarmonyOS AI辅助编程工具(CodeGenie)页面生成
添加。
针对已有UI布局文件(XML)的应用,当前提供UI Generator能力,可以快速生成对应的HarmonyOS UI代码。
以上材料主要参考引用HarmonyOS官方文档。
发表于 08-13 10:38
HarmonyOS AI辅助编程工具(CodeGenie)UI生成
Project From... 打开UI Generator工具,首次使用需要阅读并确认用户协议,确认后可继续使用。
输入待配置项路径,点击Next进入下一步。
待配置项
说明
Installation
发表于 07-10 11:51
超125款游戏和应用支持DLSS 4多帧生成
在 COMPUTEX 2025,NVIDIA 发布多项内容。现在已有超过 125 款游戏和应用支持 DLSS 4 多帧生成,并有 10 款新游戏即将发布,《毁灭战士:黑暗时代》将于 6 月更新支持路径追踪与 DLSS 光线重建,
Diffusion生成式动作引擎技术解析
Diffusion生成式动作引擎 Diffusion生成式动作引擎是一种基于扩散模型(Diffusion Models)的生成式人工智能技术,专注于
用对软件,DeepSeek + Kimi,PPT一键生成秘籍!
和大家分享一下如何利用这两个工具快速制作出精美的PPT。 一,DeepSeek:快速生成PPT大纲 DeepSeek是一款智能AI助手,能够
生成式AI工具好用吗
当下,生成式AI工具正以其强大的内容生成能力,为用户带来了前所未有的便捷与创新。那么,生成式AI工具到底好用吗?答案无疑是肯定的。接下来,A
Cirium发布业界首款生成式AI准点率助手
全球航空分析数据领域的佼佼者Cirium,近日宣布推出业界首款专为航空公司和机场准点率(OTP)设计的生成式AI助手——OTP Awards AI。这一创新产品的问世,标志着Cirium在航空数据
国内生成式AI备案数量突破300款
截至2024年底,我国生成式人工智能服务领域取得了显著进展,国家互联网信息办公室备案的生成式AI服务总数已达到302款,标志着该领域正以前所未有的速度蓬勃发展。 在过去的一年里,新增备
Google两款先进生成式AI模型登陆Vertex AI平台
新的 AI 模型,包括最先进的视频生成模型Veo以及最高品质的图像生成模型Imagen 3。近日,我们在 Google Cloud 上进一步推动这一势头,客户可以在Vertex AI平
在算力魔方上运行Genesis:一款颠覆性开源生成式物理引擎!
作者:算力魔方创始人 刘力 一,Genesis简介 Genesis是一款由19个顶尖科研机构联手打造的,用于通用机器人、具身智能和物理 AI 应用的开源生成式物理引擎。它可以生成整
NVIDIA 推出高性价比的生成式 AI 超级计算机
Jetson Orin Nano Super 可将生成式 AI 性能提升至1.7 倍,支持科技爱好者、开发者和学生使用的主流模型。 NVIDIA 推出了一款全新的尺寸小巧的生成式 AI 超级
发表于 12-18 17:01
•949次阅读

一款文档生成工具:Doxygen生成
评论