setjmp和longjmp完成保存上下文和切换上下文的工作
发布日期:2021-06-29 04:56:30 浏览次数:2 分类:技术文章

本文共 394 字,大约阅读时间需要 1 分钟。

#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),则为异常退出)

转载地址:https://blog.csdn.net/zhang_yin_liang/article/details/52015661 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:局部变量和全局变量,extern和static
下一篇:基本知识点

发表评论

最新留言

初次前来,多多关照!
[***.217.46.12]2024年04月30日 16时46分34秒