鸟语天空
非本地跳转:setjmp.h
post by:追风剑情 2020-6-22 9:41

setjmp.h头文件可以让你不遵循通常的函数调用、函数返回顺序。setjmp()函数把当前执行环境的信息(例如,指向当前指令的指针)储存在jmp_buf类型(定义在setjmp.h头文件中的数组类型)的变量中,然后longjmp()函数把执行转至这个环境中。这些函数主要是用来处理错误条件,并不是通常程序流程控制的一部分。

setjmp.h中的函数
原型 描述
int setjmp(jmp_buf env) 把调用环境储存在数组env中,如果是直接调用,则返回0;如果是通过longjmp()调用,则返回非0
void longjmp(jmp_buf env, int val) 恢复最近的setjmp()调用(设置env数组)储存的环境;完成后,程序继续像调用setjmp()那样执行该函数,返回val(但是该函数不允许返回0,会将其转换成1)

评论:
发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容