setjmp

Posted flintlovesam

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了setjmp相关的知识,希望对你有一定的参考价值。

#include <setjmp.h>
#include <stdio.h>

jmp_buf j;

void raise_exception(void)

printf("exception raised\n");
longjmp(j, 3); /* jump to exception handler case 3 */
printf("this line should never appear\n");


int main(void)

switch (setjmp(j)) 
case 0:
printf("‘‘setjmp‘‘ is initializing ‘‘j‘‘\n");
raise_exception();
printf("this line should never appear\n");
case 1:
printf("Case 1\n");break;
case 2:
printf("Case 2\n");break;
case 3:
printf("Case 3\n");break;
default:
break;

return 0;

以上是关于setjmp的主要内容,如果未能解决你的问题,请参考以下文章

setjmp 和省略帧指针

setjmp和longjmp简介

setjmp的跳转

C setjmp和longjmp

alloca() 和 setjmp 的作用是啥?

setjmp