(计算机科学/编译原理)活跃变量:在程序某一点上,一个变量的当前值在后续路径中还会被读取使用(即未来可能“用得上”),因此在该点它被认为是“live(活跃的)”。常用于活跃性分析(liveness analysis)、寄存器分配与优化。
(注:不同教材对“将来是否一定会用到”有细微表述差异,常见定义是“存在一条从该点出发的执行路径,会在变量被重新赋值之前读取它”。)
/laɪv ˈvɛriəbəl/
The compiler checks which variables are live at each line.
编译器会检查每一行有哪些变量是活跃的。
During register allocation, a variable is live at a program point if its value may be used later along some control-flow path before being overwritten.
在寄存器分配过程中,如果一个变量的值在被覆盖之前可能沿某条控制流路径在之后被使用,那么它在该程序点就是活跃的。
live 原义为“活着的、在起作用的”,来自古英语 līf(生命)相关词族;在计算机语境中引申为“当前仍有效、仍会被用到”。variable 来自拉丁语 variābilis(可变化的),表示“可取不同值的量”。组合成 live variable,强调“这个变量的值在后续仍具有用途”。