DoxyGen文档之九

原创 2003年12月29日 17:26:00

第六章:Graphs&diagrams图表<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

Doxygen有内建生成生成对C++类层次图的功能。

Doxygen使用graphviz 1.5中的”dot”工具来生成更多高级图。GraphvizAT&TBell Labs开发,网址是http://www.research.att.com/sw/tools/graphviz/

如果你已经有了”dot”工具,那么可以将HAVE_DOT设置为YES

注意:必须下载dot工具才能对使用高级功能

Doxygen使用”dot”来生成下列图

·如果GRAPHICAL_HIERARCHY设置为YES,将和文本一起,生成一个类层次图,该特性目前只在HTML中支持
警告:在一个大的层次图中,当很多类从一个base class中派生时,可能创建出的图像超过浏览器限制

·如果CLASS_GRAPH设置为YES,将为每个documented类创建图来展示直接和间接的继承关系这个就禁用了内建的类继承图

·如果INCLUDE_GRAPH设置为YES,针对每个至少include一个其他文件的documented类产生一个include依赖图。该特性目前只在HTMLRTF中支持

·如果COLLABORATION_GRAPH设置为YES,针对每个documented类和结构将产生一个图:

o       base class的继承关系

o       和其他struct及类的使用关系(例如类A有个成员变量m_aclass B类型的,那么A就有个指向B的箭头上面标明m_a

HTMLRTF中类图的元素有以下含义:

·A yellow box 表示一个类. A box can have a little marker in the lower right corner to indicate that the class contains base classes that are hidden. For the class diagrams the maximum tree width is currently 8 elements. If a tree is wider some nodes will be hidden. If the box is filled with a dashed pattern the inheritance relation is virtual.

·A white box indicates that the documentation of the class is currently shown.

·A grey box表示一个undocumented.

·A solid dark blue arrow表示public inheritance.

·A dashed dark green arrow表示protected inheritance.

·A dotted dark green arrow表示private inheritance.

The elements in the class diagram in <?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />CSDN_Dev_Image_2003-12-29935220.gifhave the following meaning:

·A white box indicates a class. A marker in the lower right corner of the box indicates that the class has base classes that are hidden. If the box has a dashed border this indicates virtual inheritance.

·A solid arrow indicates public inheritance.

·A dashed arrow indicates protected inheritance.

·A dotted arrow indicates private inheritance.

dot工具生成的图中元素的有以下意义:

·A white box 代表一个类/结构/文件

·A box with a red border代表有一个node有还有更多箭头,不能完全显示!换句话:对该node而言,这个图是被删节了(truncated)。一个图有时被删节了,这是放置图过大。Doxygen所产生的图宽度限制在1024pixel以下。

·A black box 代表这个class的文档正在当前显示

·A dark blue arrow 代表一个include关系(对include依赖图)或public继承(其他图)

·A dark green arrow代表protected继承

·A dark red arrow代表private继承

·A purple dashed arrow代表一个“usage”关系。箭头的边缘以相关的variable(s)标记。类A使用类B,如果类A有个C类型的member variable m,而BC的一个subtype(例如C可能是BB*T<B>*)。

这里有一组.h文件演示了doxygen可以生成的各种图:

diagrams_a.h

#ifndef _DIAGRAMS_A_H

#define _DIAGRAMS_A_H

class A { public: A *m_self; };

#endif

diagrams_b.h

#ifndef _DIAGRAMS_B_H

#define _DIAGRAMS_B_H

class A;

class B { public: A *m_a; };

#endif

diagrams_c.h

#ifndef _DIAGRAMS_C_H

#define _DIAGRAMS_C_H

#include "diagrams_c.h"

class D;

class C : public A { public: D *m_d; };

#endif

diagrams_d.h

#ifndef _DIAGRAM_D_H

#define _DIAGRAM_D_H

#include "diagrams_a.h"

#include "diagrams_b.h"

class C;

class D : virtual protected  A, private B { public: C m_c; };

#endif

diagrams_e.h

#ifndef _DIAGRAM_E_H

#define _DIAGRAM_E_H

#include "diagrams_d.h"

class E : public D {};

#endif

Click here for the corresponding HTML documentation that is generated by doxygen
(EXTRACT_ALL = YES is used here).

如何用doxygen生成文档

Doxygen是一款基于源代码生成文档的工具,类似于Java中的javadoc. 概念:文档和注释的区别 文档(Documentation) 是给代码的使用者准备的,或者是更高一级的开发...
  • hitlion2008
  • hitlion2008
  • 2013年03月07日 21:05
  • 8450

使用Doxygen生成全中文的chm帮助文档

下载和安装 Doxygen到 Doxygen 官网 下载最新的Doxygen安装程序,然后安装。这个软件包包括了一个GUI界面的前端工具,可以帮助我们方便创建Doxygen配置文件和生成目标文档。下...
  • xzytl60937234
  • xzytl60937234
  • 2017年04月22日 15:55
  • 799

doxygen生成word文档

doxygen生成rtf/word使用小心得2009-07-26 19:53       硕士毕业要写个技术文档,蒙了,真麻。怎么也都不行,后来老师给指了条路:使用doxygen。      网上有许...
  • jiabin_007
  • jiabin_007
  • 2010年01月19日 17:37
  • 1513

使用doxygen生成注释文档——visual studio

前期准备:代码注释。 这里介绍两个方法: 一.安装插件 1. 安装GhostDoc插件。(建议设置快捷键为shift+Alt+j) 2. 回到vs界面规范注释规则。 Tools->GhostDoc->...
  • index_cqq
  • index_cqq
  • 2016年03月22日 16:48
  • 2342

用 Doxygen 自动生成文档

              用 Doxygen 自动生成文档             Horin|贺勤        Email: horin153@msn.com        Blog: http...
  • horin153
  • horin153
  • 2007年04月30日 15:09
  • 6409

用doxygen生成中英文帮助

来源:http://www.opencv.org.cn/forum/viewtopic.php?f=1&t=2635#p9188 用doxygen生成中英文帮助由 chai2010 于 2008-02...
  • hitxiaya
  • hitxiaya
  • 2010年11月26日 13:52
  • 765

利用doxygen生成python文档

On and off I have been developing a little Python module to provide KP-ABE and CP-ABE functionality ...
  • carolzhang8406
  • carolzhang8406
  • 2015年11月09日 14:22
  • 1567

Doxygen生成注释文档

概述:  Doxygen是一种开源跨平台的,以类似JavaDoc风格描述的文档系统,完全支持C、C++、Java、Objective-C和IDL语言,部分支持PHP、C#。注释的语法与Qt-Do...
  • tuwenqi2013
  • tuwenqi2013
  • 2017年04月11日 13:27
  • 1100

Doxygen自动文档生成工具在Eclipse中的集成及使用举例

你有为软件编写说明文档的苦恼吗?当别人甩给你一个庞大的系统,让你根据里面的代码注释理解后写出一份完整的开发文档,你会怎么办?一个个的看代码然后耗时N天来写吗?这既是一份苦差事也极其耗时,有没有更好的办...
  • lanxuezaipiao
  • lanxuezaipiao
  • 2014年02月16日 17:57
  • 4136

使用JavaDoc风格注释让doxygen自动生成文档

为代码写注释一直是大多开发人员有些困扰的事情。当前开发人员都能接受为了程序的可维护性、可读性编码的同时写注释的说法,但对哪些地方应该写注释,注释如何写,写多少等这些问题,很多开发人员仍然没有答案。更头...
  • liuxuezong
  • liuxuezong
  • 2011年08月24日 09:36
  • 8100
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:DoxyGen文档之九
举报原因:
原因补充:

(最多只允许输入30个字)