Поделиться через


setjmp

Сохраняет текущее состояние программы.

int setjmp(
   jmp_buf env 
);

Параметры

  • env
    Переменная среды, в которой хранится.

Возвращаемое значение

Возвращает значение 0, после сохранения среда стека.If setjmp возвращает в результате a longjmp вызов возвращается value аргумент longjmpили value аргумент longjmp 0 setjmp возвращает 1.Отсутствие получение ошибки.

Заметки

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

Вызов setjmp сохраняет текущую среду стека in env.Последующий вызов longjmp извлекает представляет собой сохраненную среды и возвращает элемент управления к точке сразу после сопоставления setjmp вызов.Все переменные (за исключением переменных регистра), доступные для обычного при получении элементом управления, содержат значения, когда они имели longjmp вызов.

Не возможно использовать setjmp поскакать из собственного к управляемому коду.

Бумага для заметок   setjmp и longjmp не поддерживают семантику объекта C++.В программах C++, следует использовать механизм обработки исключений C++.

Дополнительные сведения см. в разделе Использование setjmp и longjmp.

Требования

Процедура

Обязательный заголовок

setjmp

<setjmp.h>

Дополнительные сведения о совместимости см. Совместимость во введении.

Пример

См. пример _fpreset.

Эквивалент в .NET Framework

Неприменимо. Для c# используйте стандартная функция PInvoke. Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода.

См. также

Ссылки

Процесс и управление среды

longjmp

_setjmp3