Красная зона (вычисления) - Википедия - Red zone (computing)
Эта статья слишком полагается на Рекомендации к основные источники.Сентябрь 2019) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
В вычисление, то Красная зона это область фиксированного размера в функции кадр стека ниже (для выталкивающего стека) текущий указатель стека это зарезервировано и безопасно в использовании. Чаще всего он используется в листовых функциях (функциях, которые не вызывают другие функции) для выделения дополнительной памяти стека без перемещения указателя стека, который сохраняет инструкцию.
Наличие красной зоны зависит от соглашение о вызовах. 64-битные системы, использующие System V AMD64 ABI (включая Linux и macOS ) и OpenRISC используйте красную зону. Microsoft Windows не использует красную зону.
Красная зона защищена от модификации прерывать /исключение /сигнал обработчики.
В x86-64 ABI используется System V требует 128-байтовой красной зоны,[1][2] который начинается непосредственно под текущим значением указателя стека. В OpenRISC набор инструментов предполагает наличие 128-байтовой красной зоны.[3]
Примечания и ссылки
- ^ Майкл Матц; Ян Губичка; Андреас Йегер; и др., ред. (2018-01-28). «Двоичный интерфейс приложения System V: Дополнение к процессору архитектуры AMD64 (с моделями программирования LP64 и ILP32), версия 1.0» (PDF). 1.0.
- ^ «Параметры i386 и x86-64 - Использование коллекции компиляторов GNU (GCC)». Получено 2011-04-10.
- ^ "OpenCores Wiki - набор инструментов OpenRISC GNU". Получено 2014-05-28.
Этот компьютерное программирование -связанная статья является заглушка. Вы можете помочь Википедии расширяя это. |