Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: MAFUS en 26 Abril 2018, 11:41 AM

Título: setjmp y longjmp ¿Cuándo usarlas?
Publicado por: MAFUS en 26 Abril 2018, 11:41 AM
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.
Título: Re: setjmp y longjmp ¿Cuándo usarlas?
Publicado por: srWhiteSkull en 26 Abril 2018, 13:45 PM
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 ;) ");

...
Título: Re: setjmp y longjmp ¿Cuándo usarlas?
Publicado por: MAFUS en 26 Abril 2018, 13:59 PM
El goto sí, bien usado simplifica las cosas. Pero el bicho este nunca.