Doxygen是一个用于从注释的C++源代码中生成文档的工具,支持多种编程语言,包括C,Objective-C,C#,PHP,Java,Python等。
Graphviz则是一款开源的图形可视化软件,用于生成各种类型的图形。我们可以将这两款工具结合起来使用,生成C++工程的UML类图和类集成关系图。
步骤如下:
1 安装软件工具
sudo apt install graphviz # 用于生成代码关系图
sudo apt install doxygen
2 配置文件
1) 进入代码所在目录
cd /code/path
2) 生成配置文件
doxygen -g Doxygen.config
3)修改配置文件
HAVE_DOT
和UML_LOOK
用于启用Graphviz工具并设置图形风格,CLASS_GRAPH
和COLLABORATION_GRAPH
用于生成UML类图和类集成关系图。RECURSIVE递归子目录
将配置文件中的下列配置进行修改,其他配置可以按照需求修改:
EXTRACT_ALL = YES
HAVE_DOT = YES
UML_LOOK = YES
RECURSIVE = YES
CLASS_GRAPH = YES
COLLABORATION_GRAPH = YES
3 生成UML类图和类集成关系图
doxygen Doxygen.config
Doxygen会自动在配置文件中指定的目录中生成一些文件,包括HTML文档、图片、配置文件等。
生成的文件都在html文件夹
4 查看生成内容
在生成文档后,进入生成的文档目录,用firefox浏览器打开想要查看文件。
找到名为index.html的文件并打开它。firefox /code/path/html/index.html
在打开的网页中,可以看到生成的文档目录和各个文档页面的链接。点击“Classes”或“Class Hierarchy”,即可进入UML类图或类集成关系图页面。
在UML类图或类集成关系图页面上,可以看到代码中定义的类及其成员函数和变量等详细信息。可以根据需要放大、缩小、拖动、选择、搜索等操作来查看和分析代码结构。
需要注意的是,图形化表示的内容具有交互性,可以进行缩放、拖动等操作,便于优化代码架构。但是,生成的图可能并不完善,需要结合实际情况进行判断和修改。