控制流图:一种用图(graph)来表示程序执行路径的结构。通常把基本块(一段顺序执行的指令)作为节点,把可能的跳转/顺序执行关系作为边,用于编译器优化、静态分析、测试覆盖等。
/kənˈtroʊl floʊ ɡræf/
A control flow graph shows how a program can move from one statement to another.
控制流图展示程序如何从一个语句走到另一个语句。
After building the control flow graph, the compiler can detect unreachable blocks and apply optimizations like dead-code elimination.
在构建控制流图之后,编译器可以发现不可达的基本块,并进行如删除死代码之类的优化。
control flow 意为“控制流/控制流程”(程序执行的走向),graph 指“图”(由节点与边组成的结构)。合起来即“用图来表示控制流程”。该术语在编译原理与程序分析领域广泛使用,与“用图刻画程序结构”的传统密切相关。