使用 Doxygen 生成文档 (以FFmpeg 4.1.1 为例)
背景
在查找 ffmpeg 文档的时候,发现其文档是根据 Doxygen 生成的。
为了学习方便,这里以 生成 ffmpeg 4.1 文档 为例。
注:为了兼顾 arm 与 host ,本人选择了同时都支持的 ffmpegv.4.0.1。此后的学习都以此为版本。
Doxygen简介
Doxygen是一个程序的文档产生工具,可以将程序中的注释转换成说明文档或者说是API参考手册,从而减少程序员整理文档的时间。当然这里程序中的注释需要遵循一定的规则书写,才能让Doxygen识别和转化。
目前Doxygen可处理的程序语言包含C/C++、Java、Objective-C、IDL等,可产生出来的文档格式有HTML、XML、LaTeX、RTF等,此外还可衍生出不少其它格式,如HTML可以打包成CHM格式,而LaTeX可以通过一些工具产生出PS或是PDF文档等。
Doxygen 安装及使用
下面以 Windwos 的安装(除了需要设置环境变量以外,无需特别设置)与使用为例
安装列表:
Doxygen: 下载地址,http://doxygen.nl/files/doxygen-1.8.17-setup.exe
HTML Help:微软官方用于生成HTML格式的help文件,下载地址,http://go.microsoft.com/fwlink/p/?linkid=14188
Graphviz:一种dot工具可以用来渲染出效果更好的图表,下载地址,https://graphviz.gitlab.io/_pages/Download/windows/graphviz-2.38.msi
安装完成以后,将 dot.exe 所在目录(例如:"C:\Program Files (x86)\Graphviz2.38\bin")加入系统环境变量中。
基于 Doxygen 的设置
Doxygen 有命令行(CMD tool)工具以及界面化(GUI)工具2种。Windows 下常用 界面 设置。
打开 Doxywizard (Doxygen GUI fronted)
根据实际情况填写以下位置,点击next。
注意,文件路径不要有中文路径,在C盘运行程序的时候,需要有执行权限。
要勾选Scan recursively
Mode 设置模式
在Select the desired extraction mode
:
- 选择
All Entities
- 勾选
Include cross-referenced source code in the ouput
在Select programing languge the optimize the results for :
根据实际项目的需要选择对应的语言
选择:Optimize for C or PHP output
点击next
。
Oputput 设置输出
在Select the output format(s) to generate
- 勾选
HTML
- 选择:
prepare for compressed HTML(.chm)
不勾选 Latex
这里不打算使用 LaTex 工具进行输出 有关文档。
点击next
。
Diagrams 设置图例
在Diagrams to generate
:
选择 Use built-in class diagram generator
勾选Dot graphs to generate
下所有项目
点击next
。
Run doxygen
经过上一步以后,此时应该是跳转到了Expert
选项卡,不理它,选择Run
选项卡。
Expert
选项卡可以实现更加细致的参数设置,一般用在支持中文编码等方面上。
点击 Run doxygen
,经过漫长的编译,生成文件在工程 doc/html/xxx.chm (xx 代表项目名称)
也可以点击 Show HTML output
查看生成的本地文档
使用 Doxygen 生成文档 (以FFmpeg 4.1.1 为例)的更多相关文章
- 用Doxygen生成文档
我是生成C/C++的文档,输出html格式的文档.就不做成CHM了. 注释要这种写:(当然,有数种注释风格,选择任意你喜欢的就行) /** * * 一系列的doxygen的 command * * * ...
- doxygen的使用(一)配置并生成文档
原创文章,欢迎阅读,禁止转载. doxygen是个好用的文档生成工具,他的强大功能有很多介绍,我就不说了.自带的chm帮助手册很全面,包括功能.注释规范.怎么配置.工具用法等.doxygen的用法共3 ...
- 用doxygen自动生成文档
1. 添加符合doxygen解析规则的注释 (比如函数说明,函数参数/返回值说明) 用qt-creator可以在函数上方一行键入“/**”,然后直接回车,就可以自动生成默认的格式. 2. 安装doxy ...
- linux c/c++ 代码使用 doxygen 自动生成文档
www.doxygen.org 的使用非常方便,下面分成2步介绍一下 1. 注释风格,需要在c/c++代码中按照下面的风格添加注释,基本上还是很顺手的 C++的注释风格 主要使用下面这种样式:即在注释 ...
- 为Unity项目生成文档(二)
Unity项目生成文档 接着上篇文章:为Unity项目生成文档(一) .Net项目可在VS配置XML 我们可以在VS中通过配置来生成xml文件,但是unity的project,就算同样配置了xml文档 ...
- xcode 自动添加注释,生成文档
一.自动生成注释代码 添加一个快捷键,生成 注释代码 ThisService 下载连接:http://wafflesoftware.net/thisservice/ ...
- 使用 Swagger 自动生成 ASP.NET Core Web API 的文档、在线帮助测试文档(ASP.NET Core Web API 自动生成文档)
对于开发人员来说,构建一个消费应用程序时去了解各种各样的 API 是一个巨大的挑战.在你的 Web API 项目中使用 Swagger 的 .NET Core 封装 Swashbuckle 可以帮助你 ...
- 使用Ldoc给Lua生成文档
Ldoc介绍 LDoc是一个Lua的文档生成工具,过去,比较常用的Lua生成文档的工具是LuaDoc,可惜作者自从2008年之后就再也没有发布过新的版本了,说明作者基本上已经放弃维护了.而LDoc则是 ...
- 使用PhpDocumentor生成文档
一,网站根目录执行 $ composer require --dev phpdocumentor/phpdocumentor 二,进入vendor/bin/目录执行 $phpdoc -d D:\ser ...
随机推荐
- Es查询结果集默认是10000,更新设置
Es查询结果集默认是10000,结果集大小是int,最大为21亿左右 PUT _all/_settings?preserve_existing=true { "index.max_resul ...
- 线程池三种队列使用,SynchronousQueue,LinkedBlockingQueue,ArrayBlockingQueue
使用方法: private static ExecutorService cachedThreadPool = new ThreadPoolExecutor(4, Runtime.getRuntime ...
- zip 多维
ll=zip([[1,3],[2,4]],[[88,99],[66,55]])a=zip(*ll)# print(list(a)) #[([1, 3], [2, 4]), ([88, 99], [66 ...
- 数字反转(0)<P2011_1>
数字反转 (reverse.cpp/c/pas) [问题描述] 给定一个整数,请将该数各个位上数字反转得到一个新数.新数也应满足整数的常见形 式,即除非给定的原数为零,否则反转后得到的新数的最高位数 ...
- oracle查询连续n天登录的用户
-- 查询连续3天登录的用户 1 先创建一个表,如下: create table USER_DATA ( USER_ID NUMBER, LOGIN_TIME DATE ); 2 插入用户登录数据: ...
- [转]利用 Commons-Fileupload 实现文件上传
转载 Java Web开发人员可以使用Apache文件上传组件来接收浏览器上传的文件,该组件由多个类共同组成,但是,对于使用该组件来编写文件上传功能的Java Web开发人员来说,只需要了解和使用其中 ...
- 【剑指Offer面试编程题】题目1506:求1+2+3+...+n--九度OJ
题目描述: 求1+2+3+...+n,要求不能使用乘除法.for.while.if.else.switch.case等关键字及条件判断语句(A?B:C). 输入: 输入可能包含多个测试样例. 对于每个 ...
- 解决IE打开时,弹出的提示调用active的问题,阻止js运行。
在html和head中间加上: <!-- saved from url=(0014)about:internet -->
- 「APIO2012」派遣
「APIO2012」派遣 传送门 当预算超过限制时,优先丢掉薪水高的忍者(左偏树维护一下),然后答案取合法答案的最大值. 参考代码: #include <algorithm> #inclu ...
- 你知道Verilog HDL程序是如何构成的吗
本节通过硬件描述语言Verilog HDL对二十进制编码器的描述,介绍Verilog HDL程序的基本结构及特点. 二十进制编码器及Verilog HDL描述 二十进制编码器是数字电路中常用的电路单元 ...