Функция longjmp

Прототип функции longjmp:

void longjmp(jmp_buf environment, int val);

Заголовочный файл

Название Язык
setjmp.h С
csetjmp С++

Описание

Функция longjmp возвращает управление программой на самый последний вызов функции setjmp в одном процессе. Информация, необходимая для восстановления значений окружающих переменных обеспечивается параметром environment. Величины восстанавливаемых переменных сохраняются в объекте типа jmp_buf, когда выполняется вызов функции setjmp. Функция longjmp никогда не возвращается к точке, где она была вызвана. Вместо этого, функция передает управление в точку, где функция setjmp была использована, для заполнения параметров окружения.

Параметры:

  • environment
    Объект типа jmp_buf содержащий информацию по восстановлению значений окружения, после вызова функции setjmp.
  • val
    Значение, которое setjmp вычисляет.

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

Функция longjmp не имеет возвращаемого значения.

Пример: исходный код программы

// пример использования функции longjmp

#include <iostream>                                // для оператора cout
#include <csetjmp>                                 // для функции longjmp

int main ()
{
    jmp_buf env;                                   // хранилище информации для восстановления
    int val = setjmp(env);

    std::cout << "Значение " << val << std::endl;

    if (!val) longjmp(env, 1);                     // возврат к функции setjmp

  return 0;
}

Пример работы программы

CppStudio.com
Значение 0
Значение 1
Автор: admin
Дата: 08.09.2012
Поделиться:

Комментарии

Оставить комментарий

Вы должны войти, чтобы оставить комментарий.