简介
Doxygen是一个能从带注释的源码中自动生成说明文档的标准工具,它支持众多流行的编程语言,包括C/C++、C#, PHP, Java, Python, IDL 等
Doxygen能够从以下三个方面进行工作:
-
从一组源文件中生成HTML格式的在线文档和LETEX格式的离线文档,此外还提供了RTF(MS-Word)、PostScript、超链接 PDF、压缩 HTML 和 Unix等格式输出。
-
从源码中提取代码结构,通过依赖关系图、继承图和协作图自动生成各种元素之间的关系图。
-
为用户制作用户手册和网站
Doxygen可以在Mac OS、Linux和Windows下工作,还可以在大多数其他Unix上运行。
安装
Ubuntu下可以直接从apt源进行安装
sudo apt-get install graphviz
sudo apt-get install doxygen
# 带gui的doxygen
sudo apt-get install doxygen-gui
使用
你可以使用特定的命令行来生成配置文件手动配置,也可以执行doxywizard在图形化界面中进行配置。在doxygen中,不同工具之间的关系图如下所示
从命令行生成
1. 创建配置文件
doxygen -g <config-file>
# 或(不含注释)
doxygen -s -g <config-file>
<config-file>为生成配置文件的名称,如果不输入则默认为Doxyfile,若已存在名为 <config-file>的文件,则会将原先的 <config-file>重命名为 <config-file>.bak。
2. 修改配置文件
这里列举出常用的配置选项,关于完整的配置选项说明,可以参考doxygen官网提供的Config-Docs
项目相关配置
-
DOXYFILE_ENCODING
指定用于配置文件中所有字符的编码,默认为UTF-8。
-
PROJECT_NAME
项目名称,默认为 My Project
-
OUTPUT_DIRECTORY
标记用于指定将生成的文档写入的(相对或绝对)路径。如果输入了相对路径,则该路径将相对于 doxygen 的启动位置。如果留空,将使用当前目录。
-
OUTPUT_LANGUAGE
标记用于指定编写 doxygen 生成的所有文档的语言。
构建相关配置
-
EXTRACT_ALL
如果设置为
YES
,则 doxygen 将假定文档中的所有实体都已记录,即使没有可用的文档也是如此。私有类成员和静态文件成员将被隐藏,除非EXTRACT_PRIVATE分别EXTRACT_STATIC标记设置为YES
. -
EXTRACT_PRIVATE
如果设置为
YES
,则类的所有私有成员都将包含在文档中。 -
EXTRACT_STATIC
如果设置为
YES
,则文件的所有静态成员都将包含在文档中。 -
EXTRACT_LOCAL_CLASSES
如果设置为
YES
,则在源文件中本地定义的类(和结构)将包含在文档中。如果设置为NO
,则仅包括头文件中定义的类。
与输入文件相关配置
-
INPUT
标记用于指定包含记录的源文件的文件和/或目录。
-
INPUT_ENCODING
标记可用于指定 doxygen 解析的源文件的字符编码。
-
RECURSIVE
指定是否也应搜索子目录以查找输入文件。
绘图相关配置
-
HAVE_DOT
是否使用Graphviz图形可视化工具包
-
CALL_GRAPH
为每个全局函数或类方法生成一个调用依赖图,启用此选项将显着增加运行时间。
-
CALLER_GRAPH
为每个全局函数或类方法生成调用者依赖图,启用此选项将显着增加运行时间。
3. 运行doxygen
doxygen <config-file>
根据您的设置,doxygen 将在输出目录中创建 html
、rtf
、latex
、xml
、man
和/或 docbook 目录。
从gui生成
终端键入doxywizard,打开图形化界面
doxywizard
配置相关选项,具体可以参考上一部分的选项说明
生成配置文档
查看文档
在html文档中找到index.html,打开即可查看你的专属在线文档!
后续
喜欢的话可以关注一下我的公众号技术开发小圈,尤其是对深度学习以及计算机视觉有兴趣的朋友,我会把相关的源码以及更多资料发在上面,希望可以帮助到新入门的大家!