tengo unas pocas preguntas relativas a setjmp/longjmp uso -Manejo de excepciones en C - ¿Cuál es el uso de setjmp() que devuelve 0?
¿Cuál es el uso de setjmp (JMP ___ buf stackVariables) devolver 0. Es un defecto, que no podemos influir.
El único significado de setjmp (stackVariables) es empujar la pila en stackVariables. Y básicamente 0 nos dice si la pila se presionó en stack_variables con éxito.
Su es una ocasión en que el valor es distinto de cero (cualquiera que no sea cero) cuando regrese de un longjmp. ¿Qué devuelve un lomgjmp? ¿Cuándo regresas de longjmp cuando se maneja tu excepción? Esta configuración es realmente confusa.
Pueden algunos relacionarlo para intentar/arrojar y atrapar. Y sería realmente genial, si pudieran proporcionarse algunos buenos ejemplos de setjmp/longjmp.
Es longJmp like throw, y se llama justo después del lugar donde se puede hacer una excepción.
Thanks.
hombre impresionante, gracias –
Es longJmp like throw, y se llama justo después del lugar donde se puede hacer una excepción. Y también por qué está utilizando el número 42, puede hacer el mismo trabajo 1, o es 42 cualquier int positivo distinto de cero. –
El punto clave es que la función setjmp() puede regresar una vez, o puede regresar varias veces. Volverá una vez desde la 'invocación directa' (que devolverá 0); cualquier devolución posterior es el resultado de un longjmp() y devolverá un valor distinto de cero. –