setjmp和longjmp完成保存上下文和切换上下文的工作
2016-07-24 19:32
337 查看
#include <setjmp.h> int setjmp(jmp_buf env);
setjmp函数的功能是将函数在此处的上下文保存在jmp_buf结构体中,以供longjmp从此结构中恢复过来。若直接调用该函数,返回值为0;若该函数从longjmp调用返回,返回值为非零,由longjmp函数提供。
Void longjmp(jmp_bufenv,intval)
函数的功能是从jmp_buf结构体中恢复函数保存的上下文,该函数不返回,而是从setjmp函数中返回。Val表示从longjmp函数传递给setjmp函数的返回值,如果val为0,setjmp将会返回1,否则返回val。
例子:
返回值为0,2。(程序中exit(0)表示程序正常退出,如果为exit(1),则为异常退出)
返回值为0,2。(程序中exit(0)表示程序正常退出,如果为exit(1),则为异常退出)
setjmp函数的功能是将函数在此处的上下文保存在jmp_buf结构体中,以供longjmp从此结构中恢复过来。若直接调用该函数,返回值为0;若该函数从longjmp调用返回,返回值为非零,由longjmp函数提供。
Void longjmp(jmp_bufenv,intval)
函数的功能是从jmp_buf结构体中恢复函数保存的上下文,该函数不返回,而是从setjmp函数中返回。Val表示从longjmp函数传递给setjmp函数的返回值,如果val为0,setjmp将会返回1,否则返回val。
例子:
返回值为0,2。(程序中exit(0)表示程序正常退出,如果为exit(1),则为异常退出)
返回值为0,2。(程序中exit(0)表示程序正常退出,如果为exit(1),则为异常退出)
相关文章推荐
- poj 2777 Count Color (线段树 区间更新 染色)
- 五、Zedboard学习之纯PL控制
- The Monocycle
- 基本知识点
- Java设计模式:工厂模式
- guava 常用API说明
- HTTP 和 SCOKET 通信的区别? TCP,UDP 的连接方法?HTTP 几种常用方式
- 分配内存的问题
- binlog
- sublime txt 设置在浏览器预览
- vijos1906:联合权值
- python核心编程第七章练习
- Dynamic Memory
- Java反射(二):反射的使用
- tcpip学习
- URAL 1014
- POJ 3254 Corn Fields [动态规划 简单状态压缩]
- Markdown编辑器语法
- POJ 1456 Supermarket
- hibernate debug学习总结