gpt4 book ai didi

c++ - 用于 C++ 代码的控制流图生成器

转载 作者:行者123 更新时间:2023-11-30 03:36:43 25 4
gpt4 key购买 nike

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

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

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

谢谢大家的回答。

最佳答案

您可以使用 clangllvm .

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

clang++ -emit-llvm -S prog.cpp -o prog.ll

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

opt --dot-cfg prog.ll

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

dot -Tpng cfg.main.dot -o main.png

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

关于c++ - 用于 C++ 代码的控制流图生成器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40563240/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com