Пролог процедуры
В статье не хватает ссылок на источники (см. рекомендации по поиску). |
Пролог процедуры, пролог функции — часть машинного кода в начале процедуры (функции), который подготавливает стек и машинные регистры — сохраняет контекст выполнения — для их дальнейшего использования в теле процедуры (функции).
Соответственно, эпилог процедуры (функции) — часть машинного кода в конце процедуры (функции), восстанавливающая стек и машинные регистры до состояния, предшествовавшего вызову этой процедуры (функции).
Пролог и эпилог не являются частью языка программирования, а используются компиляторами (ассемблерами) как соглашение и, обычно, имеют единую форму для всех процедур данной реализации компилятора.
Пролог и эпилог функции также иногда содержат инструкции защиты от переполнения буфера.
Пролог
[править | править код]Пролог функции обычно выполняют следующие действия, если архитектура предполагает наличие указателя стека и указателя