Everything in the c library is extremely important. Following is the variable type defined in the header setjmp. The gnu c library reference manual gnu operating system. This variable can later be used to restore the current execution context by stdlongjmp function.
The longjmp function causes program execution to resume at the point of the last call to setjmp. This document is an introduction to the c programming language. A summary reference of the most common operators and library functions. C reference card ansi constants flow of control program. The function setjmp stores the current execution status in env, and returns 0. Specifically, a setjmp longjmp call pair has undefined behavior if replacing the setjmp and longjmp by catch and throw would invoke any nontrivial destructors for any automatic objects. The execution state includes basic information about which code is being executed in preparation for. This is a reference manual for the c programming language as implemented by the gnu. We would like to show you a description here but the site wont allow us. In c, functions must be prototyped before the main function, and defined after the main function. Control is transferred to the call site of the macro setjmp that set up env. However, if zero is passed, then it is replaced by 1. The include file defines two functions, setjmp and longjmp, which can.
It causes the execution to jump to the setjmp location as if setjmp had returned the value of the variable value. Chapter 23 nonlocal exits, page 700, contains descriptions of the setjmp and. Ipv6 address types ripe network coordination centre. Without this feature, c programmers would most likely had to turn to assembly programming to solve issues that only setjmp longjmp could solve. C language reference manual department of computer science. This is the gnu c library reference manual, for version 2. This revision of the c language reference manual supports the 7.
That setjmp then returns the value, passed as the status if the function that called setjmp has exited, the behavior is undefined in other words, only long jumps up the call stack are allowed. Exception handling im not implementing exception handling using longjmp setjmp. C programming reference manual, volume 1 product support login. Loads the execution context env saved by a previous call to setjmp.
135 21 506 747 1046 370 617 78 1400 965 1430 392 916 155 111 114 20 1283 1312 1334 227 337 912 1260 1326 197 232 72 565 44 362