Для каждой функции, в которой выделяется память в стеке, вызываются другие функции, сохраняются защищенные регистры или выполняется обработка исключений, необходимо использовать пролог. На адрес пролога накладываются ограничения, описываемые в данных завершения, которые связаны с соответствующей записью таблицы функций (см. раздел Обработка исключений (x64)). При необходимости в прологе сохраняются регистры аргумента (по внутренним адресам), помещаются в стек защищенные регистры, выделяется фиксированная часть стека для локальных и временных переменных, а также создается указатель кадра. В связанных данных завершения описывается действие пролога, а также предоставляются сведения, используемые для отмены результатов выполнения кода пролога.
Если выделяемая фиксированная часть стека занимает более одной страницы (более 4096 байт), выделяемая область стека может располагаться на нескольких страницах виртуальной памяти. В этом случае необходимо проверить выделяемую область перед ее фактическим выделением. Для этих целей используется специальная процедура, которая вызывается из пролога и не уничтожает регистры аргумента.
"Школа несчастья есть самая лучшая школа". Я считаю, это так. Мы учимся на своих ошибках, и если мы достаточно умны, то одной ошибки должно хватить, чтобы не повторять её. Впрочем, самым умным достаточно счастья, чтобы понять, что это оно – держи его, пока не улетело!.. Сомневаюсь, что я отношусь к ним - ведь счастья всегда недостаточно. Люди по сути своей несовершенны и "школа несчастья" необходима для получения счастья. Есть старая сказка о человеке и волке, которого угостили хлебом. Волк попросил человека научить его готовить хлеб, но узнав о трудностях его приготовления, отказался. Обидно понимать, что люди, говоря о счастье и несчастье, в большинстве случаев оказываются на месте волка. Думаю, именно поэтому "школа несчастья" стала необходимой и чаще всего – неизбежной. Я не считаю это плохим, ведь если счастье поставить на место хлеба (а без хлеба люди вряд ли бы прожили в давние эпохи), то несчастье окажется наименьшим злом по пути достижения цели.
Помню я: бывало, няня, Долго сидя за чулком, Молвит: «Баловень ты, Ваня, Всё дурачишься с котом. Встань, подай мою шубейку; Что-то холодно, дрожу… Да присядь вот на скамейку, Сказку длинную скажу». И старушка с расстановкой До полночи говорит. С приподнятою головкой Я сижу. Свеча горит. Петухи давно пропели. Поздно. Тянется ко сну… Где-то дрожки прогремели… И под говор я засну. Сон покоен. Утром встанешь — Прямо в садик… Рай земной! Песни, говор… А как глянешь На росинки — сам не свой! Чуть сорока защекочет — Понимаешь, хоть молчишь, Упрекнуть она, мол, хочет, «Здравствуй, Ваня! Долго спишь!» А теперь ночной порою На груди гора лежит: День прожитый пред тобою Страшным призраком стоит. Видишь зла и грязи море, Племя жалкое невежд, Униженье, голод, горе, Клочья нищенских одежд. Пот на пашнях за сохами, Пот в лесу за топором, Пот на гумнах за цепами, На дворе и за двором. Видишь горькие потери, Слёзы падшей красоты И затворенные двери Для убитой нищеты… И с тоскою ждёшь рассвета, Давит голову свинец. О, когда же горечь эта Вся исчезнет наконец! (Если ты про это)
Если выделяемая фиксированная часть стека занимает более одной страницы (более 4096 байт), выделяемая область стека может располагаться на нескольких страницах виртуальной памяти. В этом случае необходимо проверить выделяемую область перед ее фактическим выделением. Для этих целей используется специальная процедура, которая вызывается из пролога и не уничтожает регистры аргумента.