Latest web development tutorials

funciones de la biblioteca C - longjmp ()

C biblioteca estándar - <setjmp.h> C biblioteca estándar - <setjmp.h>

descripción

funciones de la biblioteca Clongjmp vacío (jmp_buf medio ambiente, int value ) para restaurar una llamada reciente a setjmpmacro()para salvar el medio ambiente mediante el establecimiento de parámetrosjmp_bufantes de llamar a setjmp () genera.

declaración

Aquí está la declaración de la función longjmp ().

void longjmp(jmp_buf environment, int value)

parámetros

  • medio ambiente - este es un tipo de objeto jmp_bufque contiene información sobre el medio ambiente cuando se llama a la tienda setjmp.
  • Valor - Esta es la expresión setjmppara determinar el valor.

Valor de retorno

Esta función no devuelve un valor.

Ejemplos

El siguiente ejemplo demuestra el uso de la función longjmp ().

#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");
}

Vamos a compilar y ejecutar el programa anterior, lo que resultará en lo siguiente:

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

C biblioteca estándar - <setjmp.h> C biblioteca estándar - <setjmp.h>