图形和图表
Doxygen具有内置支持,可以为C ++类生成继承图。
Doxygen可以使用graphviz中的“点”工具来生成更高级的图表。Graphviz是一个开放源代码,跨平台的图形绘制工具包,可以在http://www.graphviz.org/上找到。
如果路径中有“点”工具,则可以在配置文件中将HAVE_DOT设置为YES
,以便doxygen使用它。
Doxygen使用“点”工具生成以下图形:
- 将绘制类层次结构的图形表示形式以及文本形式的图形表示形式。当前,仅HTML支持此功能。
**警告:**当您有一个非常大的类层次结构,其中许多类是从一个公共基类派生的时,生成的图像可能变得太大而无法用于某些浏览器。 - 将为每个记录的类生成一个继承图,显示直接和间接继承关系。这将禁用内置类继承图的生成。
- 为每个包含至少一个其他文件的文档文件生成一个包含依赖关系图。当前仅HTML和RTF支持此功能。
- 还会生成一个反向包含相关性图,显示一个(头)文件,其他文件也包含该文件。
- 为每个记录的类和结构绘制一个图形,该图形显示:
- 与基类的继承关系。
- 与其它结构和类(例如类的使用关系
A
具有一个成员变量m_a
类型的类B
,然后A
有一个箭头来B
以m_a
作为标签)。
- 如果CALL_GRAPH设置为YES,则会为每个函数绘制一个图形调用图,以显示该函数直接或间接调用的函数(另请参见\ callgraph和\ hidecallgraph部分)。
- 如果CALLER_GRAPH设置为YES,则会为每个函数绘制图形化的调用者图,以显示直接或间接调用该函数的函数(另请参见\ callergraph和\ hidecallergraph部分)。
使用布局文件,您可以确定实际显示了哪些图形。
选项DOT_GRAPH_MAX_NODES和MAX_DOT_GRAPH_DEPTH可用于限制各种图形的大小。
HTML和RTF中的类图中的元素具有以下含义:
- 一个黄色的框表示一类。一个框的右下角可以有一个小标记,以指示该类包含隐藏的基类。对于类图,当前最大树宽为8个元素。如果树变宽,则某些节点将被隐藏。如果该框填充有虚线图案,则继承关系为虚拟。
- 甲白框指示类的文档当前示出。
- 甲灰色框表示一个未记录的类。
- 一个坚实的深蓝色箭头指示公有继承。
- 一个虚线深绿色箭头表示保护继承。
- 一个点缀深绿色箭头指示私有继承。
类图中的元素具有以下含义:
- 一个白框表示一类。甲标记框的右下角表示该类有隐藏基类。如果该框具有虚线边框,则表示虚拟继承。
- 一个实心箭头指示公有继承。
- 一个虚线箭头指示保护继承。
- 一个虚线箭头表示私有继承。
点工具生成的图形中的元素具有以下含义:
- 一个白框指示类或结构或文件。
- 用一箱红色边框表示,有一个节点更比被标记的箭头!换句话说:该图相对于该节点被截断。图形有时会被截断的原因是为了防止图像变得太大。对于使用点doxygen生成的图形,尝试将结果图像的宽度限制为1024个像素。
- 一个黑盒子表明类的文档当前显示。
- 甲深蓝色箭头表示包括关系(对于包括依赖图),或public继承(对于其它图)。
- 一个深绿色的箭头指示保护继承。
- 一个暗红色箭头表示私有继承。
- 甲紫色虚线箭头所示的“使用”的关系,箭头的边缘被标记与变量(多个)负责的关系。类
A
使用类B
,如果类A
具有一个成员变量m
类型C,其中B是C的子类型(例如C
可以是B
,B*
,T*
)。
这是几个头文件,一起显示doxygen可以生成的各种图表:
来源:CSDN
作者:lujiangyuan
链接:https://blog.csdn.net/lujiangyuan/article/details/104673400