C 标准库 - <setjmp.h>



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

库变量

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

序号 变量及描述
1

jmp_buf

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

库宏

该库中仅定义了一个宏:

序号 宏及描述
1 int setjmp(jmp_buf environment)

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

库函数

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

序号 函数及描述
1 void longjmp(jmp_buf environment, int value)

此函数恢复由程序同一调用中对 setjmp() 宏的最最近调用保存的环境,并使用相应的 jmp_buf 参数。

广告