我需要用C++ 代码自动构建流程图,理想情况下每个源文件一个流程图。是否有任何工具(最好是 C++/Python 以及开源或高度可配置的- 所以我可能会改变外观)可用于创建流程图?
问问题
10140 次
3 回答
4
clang/llvm
可以生成graphviz点文件。
例子:
clang -S -emit-llvm -o hello.ll hello.cpp
opt hello.ll -dot-cfg -o hello.dot
这将输出几个.dot
文件,每个文件对应于hello.cpp
. 您还可以生成优势图、后优势图等(参见此处)。
拥有.dot
文件后,您可以使用dot
它来将其转换为.png
文件。文件本身只包含图形的.dot
结构,所以输出dot
应该是高度可配置的(但我不是很熟悉)。
于 2014-12-05T09:01:10.523 回答
2
于 2014-12-05T07:13:33.007 回答
0
如果您不介意纯文本输出,'cflow' 将完成这项工作。它至少在 Debian 的存储库中,并且可能在大多数 Linux 发行版的存储库中。
于 2014-12-05T07:28:40.403 回答