5 doxygen 图形和图表

£可爱£侵袭症+ 提交于 2020-03-05 18:06:55

图形和图表

Doxygen具有内置支持,可以为C ++类生成继承图。

Doxygen可以使用graphviz中的“点”工具来生成更高级的图表。Graphviz是一个开放源代码,跨平台的图形绘制工具包,可以在http://www.graphviz.org/上找到

如果路径中有“点”工具,则可以在配置文件中将HAVE_DOT设置为YES,以便doxygen使用它。

Doxygen使用“点”工具生成以下图形:

  • 将绘制类层次结构的图形表示形式以及文本形式的图形表示形式。当前,仅HTML支持此功能。
    **警告:**当您有一个非常大的类层次结构,其中许多类是从一个公共基类派生的时,生成的图像可能变得太大而无法用于某些浏览器。
  • 将为每个记录的类生成一个继承图,显示直接和间接继承关系。这将禁用内置类继承图的生成。
  • 为每个包含至少一个其他文件的文档文件生成一个包含依赖关系图。当前仅HTML和RTF支持此功能。
  • 还会生成一个反向包含相关性图,显示一个(头)文件,其他文件也包含该文件。
  • 为每个记录的类和结构绘制一个图形,该图形显示:
    • 与基类的继承关系。
    • 与其它结构和类(例如类的使用关系A具有一个成员变量m_a类型的类B,然后A有一个箭头来Bm_a作为标签)。
  • 如果CALL_GRAPH设置为YES,则会为每个函数绘制一个图形调用图,以显示该函数直接或间接调用的函数(另请参见\ callgraph\ hidecallgraph部分)。
  • 如果CALLER_GRAPH设置为YES,则会为每个函数绘制图形化的调用者图,以显示直接或间接调用该函数的函数(另请参见\ callergraph\ hidecallergraph部分)。

使用布局文件,您可以确定实际显示了哪些图形。

选项DOT_GRAPH_MAX_NODESMAX_DOT_GRAPH_DEPTH可用于限制各种图形的大小。

HTML和RTF中的类图中的元素具有以下含义:

  • 一个黄色的框表示一类。一个框的右下角可以有一个小标记,以指示该类包含隐藏的基类。对于类图,当前最大树宽为8个元素。如果树变宽,则某些节点将被隐藏。如果该框填充有虚线图案,则继承关系为虚拟。
  • 框指示类的文档当前示出。
  • 灰色框表示一个未记录的类。
  • 一个坚实的深蓝色箭头指示公有继承。
  • 一个虚线深绿色箭头表示保护继承。
  • 一个点缀深绿色箭头指示私有继承。

类图中的元素$ \ mbox {\ LaTeX} $具有以下含义:

  • 一个框表示一类。甲标记框的右下角表示该类有隐藏基类。如果该框具有虚线边框,则表示虚拟继承。
  • 一个实心箭头指示公有继承。
  • 一个虚线箭头指示保护继承。
  • 一个虚线箭头表示私有继承。

点工具生成的图形中的元素具有以下含义:

  • 一个框指示类或结构或文件。
  • 用一箱红色边框表示,有一个节点比被标记的箭头!换句话说:该图相对于该节点被截断。图形有时会被截断的原因是为了防止图像变得太大。对于使用点doxygen生成的图形,尝试将结果图像的宽度限制为1024个像素。
  • 一个盒子表明类的文档当前显示。
  • 深蓝色箭头表示包括关系(对于包括依赖图),或public继承(对于其它图)。
  • 一个深绿色的箭头指示保护继承。
  • 一个暗红色箭头表示私有继承。
  • 紫色虚线箭头所示的“使用”的关系,箭头的边缘被标记与变量(多个)负责的关系。类A使用类B,如果类A具有一个成员变量m类型C,其中B是C的子类型(例如C可以是BB*T*)。

这是几个头文件,一起显示doxygen可以生成的各种图表:

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!