使用 Doxygen 从源代码生成 UML 类图
Doxygen是可以根据代码文档自动生成UML,保存在html内
常用配置
1 2 3 4 5 6 7 8
| EXTRACT_ALL = YES HAVE_DOT = YES UML_LOOK = YES RECURSIVE = YES CALL_GRAPH = YES CALLER_GRAPH = YES REFERENCED_BY_RELATION = YES REFERENCES_RELATION = YES
|
下载安装
1 2
| sudo apt install graphviz sudo apt install doxygen
|
Sample
1 2 3
| cd CODE_DIR doxygen -g Doxygen.config vim Doxygen.config
|
修改配置文件
1 2 3 4
| EXTRACT_ALL = YES HAVE_DOT = YES UML_LOOK = YES RECURSIVE = YES
|
- 在vi 模式下,直接输入“/” 斜杠;再输入要查找的字符串,然后回车即可;
- 如果查找下一个,按“n”即可
运行
在工程目录下可以看到 生成的 html 和 latex 目录,使用浏览器打开 html 目录中的 index.html 文件,看到类继承图和协助图
生成函数调用关系图
1 2 3
| CALL_GRAPH = YES REFERENCED_BY_RELATION = YES REFERENCES_RELATION = YES
|
其他配置参考
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| PROJECT_NAME = "Test"
PROJECT_NUMBER = "1.0.0"
OUTPUT_DIRECTORY = out/
OUTPUT_LANGUAGE = Chinese
OPTIMIZE_OUTPUT_FOR_C = YES
TYPEDEF_HIDES_STRUCT = YES
HIDE_SCOPE_NAMES = YES
QUIET = YES
FILE_PATTERNS = *.h
RECURSIVE = YES
EXAMPLE_PATH = example/
EXAMPLE_PATTERNS = *.c *.h
EXAMPLE_RECURSIVE = YES
REFERENCED_BY_RELATION = YES REFERENCES_RELATION = YES REFERENCES_LINK_SOURCE = YES
GENERATE_LATEX = YES
HAVE_DOT = YES CALL_GRAPH = YES CALLER_GRAPH = YES
RECURSIVE = YES
SOURCE_BROWSER = YES
GENERATE_TREEVIEW = ALL
|