setjmp y longjmp ¿Cuándo usarlas?

Iniciado por MAFUS, 26 Abril 2018, 11:41 AM

0 Miembros y 1 Visitante están viendo este tema.

MAFUS

Posiblemente las dos funciones más extrañas de C y con menor uso, según he visto. Por eso: a parte de simular excepciones ¿Qué uso se les podría dar a ese par de funciones? Por mi parte todavía no se me ha ocurrido ni presentado la ocasión de usarlas.

srWhiteSkull

Algunas vez usaste un goto en C?  :rolleyes: pues eso...

También puedes usarlo para crear un bucle  ;)
...
   int contador=0;
   setjmp(estado); // salvamos el offset del programa
       printf("contador %d\n", contador);
       if (contador++<10) longjmp(estado,1); // cargamos el offset
   
   printf("Fin del bucle ;) ");

...

MAFUS

El goto sí, bien usado simplifica las cosas. Pero el bicho este nunca.