首页 / 功能 / 动态流程图
动态流程图:把程序的运行过程画出来
动态流程图是 CppStudio 的核心功能:程序执行到哪一步,流程图就实时高亮到哪一步,
if 走了哪个分支、循环转到第几圈、函数什么时候调用和返回,全部随真实运行动态展开。
和"代码转流程图"工具的区别
| 静态流程图工具(如 cxx2flow) | CppStudio 动态流程图 | |
|---|---|---|
| 画的是什么 | 代码的静态结构 | 程序的真实运行过程 |
| 分支走向 | 所有分支都画出来,自己猜走哪条 | 执行到 if 时高亮实际走的那条分支 |
| 循环 | 画一个循环框 | 能看到循环转到第几圈、条件何时变假 |
| 变量 | 不显示 | 每个变量的当前值随执行同步更新 |
| 生成方式 | 需安装 Graphviz 等工具 | 打开网页,点"运行"自动生成 |
它是怎么工作的
- 你写的 C++ 代码由浏览器内置的 clang 22 编译器(WebAssembly 构建)在本地编译,分析出完整的语法结构;
- CppStudio 把程序翻译成带执行语义的流程图模型:顺序、分支、循环、函数调用各有图形;
- 点"运行"后,引擎按程序的真实执行顺序一步一步推进,当前执行的节点实时高亮;
- 配合播放器式执行,你可以暂停、单步、回退,反复观察任何一步。
覆盖的语法范围
顺序执行、if/else 分支、for/while/do-while 循环、函数定义与调用(含递归)、 一维/二维数组、结构体、指针基础、常用 STL(vector/string/stack/queue 等)。 超出可视化范围的语法会自动切换"结果模式"——用真实编译运行给出输出,不会静默失败。
适合谁
- 零基础学生:第一次理解"程序是按顺序、会分支、会循环执行的";
- 自学者:看懂循环和递归这类最抽象的概念到底怎么动;
- 老师:课堂投影演示,把"程序运行"从口述变成画面。