激活记录是否用于查找错误行?

时间:2014-02-13 03:38:42

标签: c++ scope activation-record

因此,我最近遇到了激活记录一词,并对它的工作原理以及它的用途非常感兴趣。

我的问题是这有多深入?我知道这是一个堆栈框架,随着范围的变化,记录会发生变化,但程序员可以实现多远呢?

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

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

1 个答案:

答案 0 :(得分:1)

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

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