C 標準庫 - <setjmp.h>

簡介

setjmp.h 頭檔定義了宏 setjmp()、函數 longjmp() 和變數類型 jmp_buf,該變數類型會繞過正常的函數調用和返回規則。

庫變數

下麵列出了頭檔 setjmp.h 中定義的變數:

序號變數 & 描述
1jmp_buf
這是一個用於存儲宏 setjmp() 和函數 longjmp() 相關資訊的數組類型。

庫宏

下麵是這個庫中定義的唯一的一個宏:

序號宏 & 描述
1int setjmp(jmp_buf environment)
這個宏把當前環境保存在變數 environment 中,以便函數 longjmp() 後續使用。如果這個宏直接從宏調用中返回,則它會返回零,但是如果它從 longjmp() 函數調用中返回,則它會返回一個非零值。

庫函數

下麵是頭檔 setjmp.h 中定義的唯一的一個函數:

序號函數 & 描述
1void longjmp(jmp_buf environment, int value)
該函數恢復最近一次調用 setjmp() 宏時保存的環境,jmp_buf 參數的設置是由之前調用 setjmp() 生成的。