c_cpp c中的setjmp实验

Posted

tags:

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

/* setjmp_longjmp.c -- program handles error through 'setjmp()' */
/* and longjmp() */
//practice for error handling
#include <stdio.h>
#include <stdlib.h>
#include <setjmp.h>
 
/* declare variable of type jmp_buf */
static jmp_buf resume_here;
 
void hello(void);
 
int main(void)
{
  printf("startng up\n");
  //first time does not activate
  if(setjmp(resume_here)) {caller(); return 0;};
  
  longjmp(resume_here, 1);
  printf("Cannot be reached");
  return 0;
}

void caller()
{
  printf("Just resumed in caller, now going back\n");
}

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

c_cpp 使用C和setjmp和longjmp进行异步调用的示例

c_cpp 实验2(AVR C)

c_cpp 实验4

c_cpp AVR C实验室1

c_cpp 测量实验室终极

c_cpp WCL 101 - 实验6