从C ++代码自动生成流程图

时间:2014-12-05 06:33:21

标签: python c++ flowchart activity-diagram

我需要自动用C ++代码构建流程图,理想情况下每个源文件有一个流程图。 是否有任何工具(最好是C ++ / Python和开源高度可配置 - 所以我可以改变外观)我可以用来创建流程图?

http://www.faqs.org/patents/img/20110088010_08.png

3 个答案:

答案 0 :(得分:3)

clang/llvm可以生成graphviz dot files

示例:

clang -S -emit-llvm -o hello.ll hello.cpp
opt hello.ll -dot-cfg -o hello.dot

这将输出多个.dot个文件,每个文件对应hello.cpp中定义的每个函数。 您还可以生成支配图,后支配优势图等(参见here)。

获得.dot个文件后,您可以使用dot将其转换为.png个文件。 .dot文件本身只包含图形的结构,因此dot的输出应该是高度可配置的(但我并不熟悉它)。

答案 1 :(得分:2)

使用Enterprise Architect工具。

http://www.sparxsystems.com/enterprise_architect_user_guide/9.2/execution_analyzer/generating_sequence_diagram.html

您可以在调试代码时生成序列图。

示范:Online Demo

注意: - 这也适用于C ++代码。只需使用Native调试器。

答案 2 :(得分:0)

如果您不介意明文输出,'cflow'将完成这项工作。它位于至少Debian的存储库中,可能是大多数Linux发行版。