Дом развитие Что такое кадр стека? - определение из техопедии

Что такое кадр стека? - определение из техопедии

Оглавление:

Anonim

Определение - Что означает рамка стека?

Фрейм стека - это метод управления памятью, используемый в некоторых языках программирования для генерации и исключения временных переменных. Другими словами, это можно считать сбором всей информации в стеке, относящейся к вызову подпрограммы. Фреймы стека существуют только во время процесса выполнения. Фреймы стека помогают языкам программирования поддерживать рекурсивную функциональность подпрограмм.

Кадр стека, также известный как кадр активации или запись активации.

Techopedia объясняет структуру стека

Кадр стека состоит из:

  • Локальные переменные
  • Сохраненные копии регистров, измененные подпрограммами, которые могут нуждаться в восстановлении
  • Параметры аргумента
  • Обратный адрес

Отдельный кадр стека имеет место для фактических параметров, временных местоположений, локальных переменных и информации о вызывающей подпрограмме. Когда определенные подпрограммы, вызывающие эти параметры, местоположения или переменные, завершили выполнение, соответствующий кадр стека удаляется из стека. Порядок упаковки информации в кадре стека в большинстве случаев не зависит от спецификаций языка программирования.

Одной из существенных особенностей стекового фрейма является то, что для конкретной подпрограммы размер стекового фрейма является фиксированным. Чтобы язык программирования использовал фрейм стека, счетчик программы и поток должны быть доступны с двумя указателями: указатель базы и указатель стека. Базовый указатель всегда указывает на вершину кадра, тогда как указатель стека указывает на вершину стека. Счетчик программ помогает указывать на следующую исполняемую инструкцию. Кадр стека для данной процедуры имеет всю необходимую информацию для сохранения и восстановления состояния конкретной процедуры.

Что такое кадр стека? - определение из техопедии