1

所以我最近遇到了激活记录这个术语,并对它的工作原理和用途非常感兴趣。

我的问题是这可以深入到什么程度?我知道这是一个堆栈框架,并且记录会随着范围的变化而变化,但是程序员可以实现多远呢?

这是大多数 IDE 用来确定错误在哪一行的方法吗?

AR中究竟“记录”了什么?

4

1 回答 1

1

激活记录只是被视为数据结构的堆栈帧。这些术语是同义词,尽管我也将激活记录视为将堆栈帧作为实例生成的抽象数据类型。(也许只是因为在 Pascal 中,record意味着struct。)无论哪种方式,它都包含局部变量。

它是一个运行时概念,不是在生成诊断错误消息的编译时实现的。最多,编译器可能指的是数据类型的一些抽象表示。

于 2014-02-13T04:37:07.143 回答