Latest web development tutorials

Funkcje biblioteczne C - longjmp ()

Biblioteka standardowa języka C - <setjmp.h> Biblioteka standardowa języka C - <setjmp.h>

opis

Funkcje biblioteki Cvoid longjmp (jmp_buf środowiska, int value ) , aby przywrócić ostatnie wywołanie setjmp ()Makro chronić środowisko naturalne poprzez ustawienie parametrówjmp_bufprzed wywołaniem setjmp () generuje.

oświadczenie

Oto deklaracja FUNCTION longjmp () za.

void longjmp(jmp_buf environment, int value)

parametry

  • środowiska - jest to rodzaj jmp_bufobiekt, który zawiera informacje na temat środowiska, gdy dzwonisz sklepu setjmp.
  • wartość - jest to wyraz setjmpw celu określenia wartości.

Wartość zwracana

Ta funkcja nie zwraca wartości.

Przykłady

Poniższy przykład pokazuje zastosowanie longjmp funkcję ().

#include <stdio.h>
#include <stdlib.h>
#include <setjmp.h>

int main()
{
   int val;
   jmp_buf env_buffer;

   /* 保存 longjmp 的调用环境 */
   val = setjmp( env_buffer );
   if( val != 0 ) 
   {
      printf("从 longjmp() 返回值 = %s\n", val);
      exit(0);
   }
   printf("跳转函数调用\n");
   jmpfunction( env_buffer );
   
   return(0);
}

void jmpfunction(jmp_buf env_buf)
{
   longjmp(env_buf, "w3cschool.cc");
}

Załóżmy, skompilować i uruchomić powyższy program, który spowoduje w następujących przypadkach:

跳转函数调用
从 longjmp() 返回值 = w3cschool.cc

Biblioteka standardowa języka C - <setjmp.h> Biblioteka standardowa języka C - <setjmp.h>