6.4. Вложенные процедуры и функции

Вверх  Предыдущий  Следующий

Если процедура объявлена внутри другой процедуры или функции, то она называется вложенной. В этом случае во вложенную процедуру передаётся дополнительный невидимый параметр. Этот дополнительный параметр является указателем фрейма родительской процедуры. Это позволяет получать доступ к локальным переменным и параметрам вызывающей процедуры.

В результате фрейм стека после вхождения кода простой вложенной процедуры будет выполнено, как показано в таблице 6.4.

Таблица 6.4. Фрейм стека при вызове вложенной процедуры (32-битный процессор).

Смещение от указателя фрейма

Что записано

Параметры

8

Указатель фрейма родительской процедуры

4

Адрес возврата

0

Сохранённый указатель фрейма