C/setjmp.h/setjmp
setjmp: saves the contents of the system stack in envbuf for later use by longjmp()
<source lang="cpp">
//Header file: #include <setjmp.h> //Declaration: int setjmp(jmp_buf envbuf); //Return: returns zero upon invocation.
#include <setjmp.h> #include <stdio.h> jmp_buf ebuf; void f2(void); int main(void) { int i; printf("1 "); i = setjmp(ebuf); if(i == 0) { f2(); printf("This will not be printed."); } printf("%d", i); return 0; } void f2(void) { printf("2 "); longjmp(ebuf, 3); }
</source>