我需要自动地用 C++ 代码构造流程图,最好每个源文件一个流程图。
有没有任何工具(最好是 C++/Python 或者开源的 or 高度可配置- 所以我可以改变外观),我可以用它来创建流程图?
clang/llvm
可以生成graphviz 点文件 http://www.graphviz.org/.
Example:
clang -S -emit-llvm -o hello.ll hello.cpp
opt hello.ll -dot-cfg -o hello.dot
这会输出几个.dot
文件,每个文件对应一个中定义的函数hello.cpp
。
您还可以生成优势图、后优势图等(请参阅here http://llvm.org/docs/Passes.html#dot-cfg-print-cfg-of-function-to-dot-file).
当你拥有你的.dot
您可以使用的文件dot
将其转换为.png
文件。
这.dot
文件本身仅包含图的结构,因此输出dot
应该是高度可配置的(但我不太熟悉它)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)