首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >C++中代码的控制流图生成器

C++中代码的控制流图生成器
EN

Stack Overflow用户
提问于 2016-11-12 21:17:30
回答 2查看 6.1K关注 0票数 4

我正在寻找用C++编写的源代码的控制流图生成器。你知道什么开源的静态生成器吗?

我想在我的毕业设计中使用它来生成控制流图,并突出显示在分析的应用程序执行过程中执行的路径。

我已经编写了整个引擎来记录执行的代码行。

谢谢你所有的回答。

EN

回答 2

Stack Overflow用户

发布于 2018-03-23 00:59:02

您可以使用clangllvm

首先将你的程序编译成llvm ir

代码语言:javascript
运行
复制
clang++ -emit-llvm -S prog.cpp -o prog.ll

然后使用opt生成控制流图。

代码语言:javascript
运行
复制
opt --dot-cfg prog.ll

这将输出一个可以用graphviz查看的点文件。在mac上,您可以执行brew install graphviz并运行以下命令来生成png。

代码语言:javascript
运行
复制
dot -Tpng cfg.main.dot -o main.png

程序中的每个函数都应该有一个点文件,这样可以更容易地编写脚本将它们全部自动转换为pngs

票数 3
EN

Stack Overflow用户

发布于 2017-09-08 12:49:13

CoFlo是一个自由和开源的源代码分析工具,可以从C和C++源代码生成和分析控制流图。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40563240

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档