Pages - Menu

miércoles, 29 de enero de 2014

La librería setjmp.h

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
Se caracteriza por dos funciones:

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?