C 库 - <setjmp.h>


setjmp.h标头定义了宏setjmp()、一个函数longjmp()和一个变量类型jmp_buf 用于绕过正常的函数调用和返回规则。

库变量

以下是头文件 setjmp.h 中定义的变量类型 -

先生。 变量和描述
1

jmp_缓冲区

这是一个数组类型,用于保存宏setjmp()和函数longjmp()的信息。

库宏

该库中仅定义了一个宏 -

先生。 宏及描述
1 int setjmp(jmp_buf环境)

该宏将当前环境保存到变量环境中,供函数longjmp()稍后使用。如果该宏直接从宏调用返回,则返回零,但如果从longjmp()函数调用返回,则返回非零值。

库函数

以下是头文件 setjmp.h 中定义的唯一一个函数 -

先生。 功能说明
1 void longjmp(jmp_buf环境,int值)

该函数使用相应的jmp_buf参数恢复在同一程序调用中最近一次调用setjmp()宏所保存的环境。