El archivo de cabecera de la biblioteca estándar de C
setjmp.h se utiliza para proporcionar saltos en la ejecución del código y así
modificar drásticamente el flujo de ejecución del programa.
Foto tomada de freedigitalphotos.net |
int setjmp(jmp_buf env) - Para establecer el punto en que se
debe saltar más tarde desde longjump. El valor de setjmp es 0, y si se regresa
a él desde un longjmp su valor es distinto de cero.
void longjmp(jmp_buf env, int value) – se utiliza para volver
al momento del programa en que esté ubicado setjmp.
Como se puede ver, las dos funciones utilizar una variable
de un tipo:
jmp_buf – Es un tipo de array, una estructura donde se
guarda la posición que se establece mediante setjmp.
La idea general sería como una bandera que colocamos
en un punto concreto del programa para volver a él más tarde automáticamente y
así no tener que programar rutinas o casos concretos.
¿Qué utilidades ves al uso de setjmp.h?