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() 生成的。 |