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参数的设置是由之前调用 setjmp() 生成的。 |