Doxygen - 如何在不生成图形的情况下生成文本调用关系结果
Doxygen - How to generate a textual call relationship result without generating the graph
我正在使用Doxygen来获取c/c ++项目的整个函数调用图。我设置HAVE_DOT = YES
和CALL_GRAPH = YES
.它可以帮助获得正确的结果,但对于一个大项目,使用点生成 PNG 将花费大量时间。我想获得没有 PNG 的文本结果以避免耗时。但是我不知道如何配置。在不生成 PNG 的情况下获取.DOT
文件将是完美的。
对于图形表示,doxygen具有CALL_GRAPH
,CALLER_GRAPH
与HAVE_DOT
配置设置一起。
对于文本表示,有以下设置:REFERENCED_BY_RELATION
和REFERENCES_RELATION
,这些设置会导致每个函数的结果。
来自OP的评论:
但它只是帮助我知道函数中调用了哪些实体。我 无法获取项目的整个调用图。
和
我想要的是获取文本图中的函数调用图,例如.不生成 PNG 的 DOT。
这没有得到Doxygen的直接支持。有一个卑鄙的技巧来完成某事:
- 将
HAVE_DOT
设置为YES
- 将
CALL_GRAPH
设置为NO
- 添加到您想要的函数中:
callgraph
- 卑鄙的伎俩:
- 将
DOT_CLEANUP
设置为NO
- 将
DOT_PATH
设置为dot
可执行文件不驻留的路径 - 将
DOT_GRAPH_MAX_NODES
设置为适当的值 - 将
MAX_DOT_GRAPH_DEPTH
设置为适当的值
- 将
这将导致一个dot
文件(例如在HTML目录中(与请求的关系。
您可以查看下面的手册: http://www.doxygen.nl/manual/diagrams.html
设置CALL_GRAPH = NO
可能会起作用,因为它不会创建图形表示。
查看手册中hidecallgraph
和callgraph
的用法。
相关文章:
- Doxygen - 如何在不生成图形的情况下生成文本调用关系结果
- 在没有 API 的情况下使用谷歌翻译文本
- 如何在不知道大小的情况下读取文本文件并存储到数组中
- 如何在不使用文件扩展名的情况下使用命令行参数打开C++中的文本文件?
- 在这种情况下,将数据存储在诸如SQLite之类的数据库中,还是存储在平面文本文件中更好
- 我可以在不知道文本文件的列数的情况下读取二维数组中的文件吗?
- 使用QT,如何在不读取整个文件的情况下删除文本文件中的第一行
- 如何在不移动C 中的光标坐标的情况下输出文本以控制特定坐标
- 如何在不添加换行符的情况下将文本附加到QPlainTextEdit,并保持滚动在底部
- 如何在不显示文本的情况下分配Win32编辑控件的窗口名称
- 在不使用退格键的情况下替换 Linux 终端中的文本
- 在不存储的情况下解析文本文件 (tftp)
- 在不使用文本框的情况下接受来自条形码扫描仪的输入
- 如何在没有Windows API的情况下在Turbo-C++中制作一个简单的文本编辑器
- 如何在不显示十六进制的情况下读取dat文件中的文本?C++
- 在没有项目的情况下使用 Dev c++ 在窗口中绘制文本
- 是否可以在不覆盖输入中的当前文本的情况下进行 cout
- 如何在不使用cout/printf的情况下输出文本在cpp和c中
- 是否可以在不向其写入文本的情况下在控制台中为给定的行着色
- 在没有外部库的情况下将 utf-16 文本文件正确读取到字符串中