C标准库 setjmp.h

setjmp.h 提供了用于绕过正常的函数返回机制,从一个函数跳转到另一个正在活动的函数的setjmplongjmp函数。

setjmp.h 头文件定义了宏 setjmp()、函数 longjmp() 和变量类型 jmp_buf,该变量类型会绕过正常的函数调用和返回规则。

setjmp库定义的变量

下面列出了头文件 setjmp.h 中定义的变量:

序号 变量 变量说明
1 jmp_buf 这是一个用于存储宏 setjmp() 和函数 longjmp() 相关信息的数组类型。

setjmp库定义的函数

序号 函数 函数说明
1 int setjmp(jmp_buf environment) 这个宏把当前环境保存在变量 environment 中,以便函数 longjmp() 后续使用。如果这个宏直接从宏调用中返回,则它会返回零,但是如果它从 longjmp() 函数调用中返回,则它会返回一个非零值。
2 void longjmp(jmp_buf environment, int value) 该函数恢复最近一次调用 setjmp() 宏时保存的环境,jmp_buf 参数的设置是由之前调用 setjmp() 生成的。
赞(1)
未经允许不得转载:极客笔记 » C标准库 setjmp.h
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址