setjmp()

#include <setjmp.h>
int setjmp(jmp_buf envbuf); .

Описание

Сохраняет содержимое системного стека в буфере для использования в будущем с помощью функции longjmp()

Макрос setjmp() сохраняет содержимое системного стека в буфере envbuf для использования в будущем с помощью функции longjmp(). Функция использует заголовок <setjmp.h>(в среде языка C++ - <csetjmp>).

Макрос-функция setjmp() после сохранения среды стека возвращает нуль. Если макрос setjmpO выполняется в результате вызова функции longjmp(), он возвращает значение аргумента, переданного ему функцией longjmp(). А если значение аргумента функции longjmpO равно нулю, макрос setjmp() возвращает значение 1. Информация об ошибках не возвращается.

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


евроремонт минск
7hit-drev.ru