C 库 - <setjmp.h>

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

库变量

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

Sr.No. 变量 &描述
1

jmp_buf

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

库宏

此库中仅定义了一个宏 -

序号 宏 &说明
1 int setjmp(jmp_buf environment)

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

库函数

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

Sr.No. 函数 &说明
1 void longjmp(jmp_buf environment, int value)

此函数将恢复上次调用 setjmp() 宏时保存的环境,该调用与程序的同一调用中调用的 jmp_buf 宏时使用相应的 jmp_buf 参数进行操作。