11.07.2015 Views

PicC 9.50 dsPIC Manual.pdf

PicC 9.50 dsPIC Manual.pdf

PicC 9.50 dsPIC Manual.pdf

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Library FunctionsLONGJMPSynopsis#include void longjmp (jmp_buf buf, int val)DescriptionThe longjmp() function, in conjunction with setjmp(), provides a mechanism for non-local goto’s.To use this facility, setjmp() should be called with a jmp_buf argument in some outer level function.The call from setjmp() will return 0.To return to this level of execution, lonjmp() may be called with the same jmp_buf argumentfrom an inner level of execution. Note however that the function which called setjmp() must still beactive when longjmp() is called. Breach of this rule will cause disaster, due to the use of a stackcontaining invalid data. The val argument to longjmp() will be the value apparently returned fromthe setjmp(). This should normally be non-zero, to distinguish it from the genuine setjmp() call.Example#include #include #include jmp_buf jb;voidinner (void){longjmp(jb, 5);}voidmain (void){int i;161

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!