Поэтому недавно я столкнулся с термином «запись активации» и был очень заинтересован в том, как он работает и для чего он используется.
Мой вопрос был в том, как глубоко это может пойти? Я понимаю, что это стековый фрейм, и запись меняется по мере изменения области видимости, но насколько далеко это могут реализовать программисты?
Это то, что большинство IDE используют, чтобы выяснить, в какой строке находится ошибка?
И что именно «записано» в AR?
Запись активации — это просто кадр стека, рассматриваемый как структура данных. Термины являются синонимами, хотя я бы также назвал запись активации абстрактным типом данных, который создает кадры стека в качестве экземпляров. (Может быть, только потому, что в Паскале, record
средства struct
. В любом случае, он содержит локальные переменные.
Это концепция времени выполнения, не реализованная во время компиляции, когда генерируются диагностические сообщения об ошибках. Самое большее, компилятор может ссылаться на какое-то абстрактное представление типа данных.
Других решений пока нет …