从C++代码中自动生成流程图[关闭]
·
回答问题
我需要自动用 C++ 代码构建流程图,最好是每个源文件一个流程图。是否有任何工具(最好是 C++/Python 以及 开源 或 高度可配置 - 所以我可以改变外观)可以用来创建流程图?

Answers
clang/llvm可以生成graphviz dot 文件。
例子:
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的输出应该是高度可配置的(但我不是很熟悉)。
更多推荐

所有评论(0)