【发布时间】:2014-03-11 18:26:48
【问题描述】:
所以我最近遇到了激活记录这个术语,并对它的工作原理和用途非常感兴趣。
我的问题是这可以深入到什么程度?我知道这是一个堆栈框架,并且记录会随着范围的变化而变化,但是程序员可以实现多远呢?
这是大多数 IDE 用来确定错误在哪一行的方法吗?
AR 中究竟“记录”了什么?
【问题讨论】:
标签: c++ scope activation-record
所以我最近遇到了激活记录这个术语,并对它的工作原理和用途非常感兴趣。
我的问题是这可以深入到什么程度?我知道这是一个堆栈框架,并且记录会随着范围的变化而变化,但是程序员可以实现多远呢?
这是大多数 IDE 用来确定错误在哪一行的方法吗?
AR 中究竟“记录”了什么?
【问题讨论】:
标签: c++ scope activation-record
激活记录只是被视为数据结构的堆栈帧。这些术语是同义词,尽管我也将激活记录视为将堆栈帧作为实例生成的抽象数据类型。 (也许只是因为在 Pascal 中,record 表示 struct。)无论哪种方式,它都包含局部变量。
它是一个运行时概念,不是在生成诊断错误消息的编译时实现的。最多,编译器可能会引用数据类型的一些抽象表示。
【讨论】: