C 標準函式庫 - <setjmp.h>


簡介

setjmp.h 頭檔定義了巨集setjmp()、函數longjmp() 和變數類型jmp_buf,該變數類型會繞過正常的函數呼叫和傳回規則。

庫變數

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

##序號變數& 描述1
jmp_buf 這是一個用於儲存巨集
setjmp() 和函數longjmp() 相關資訊的陣列型別。
庫巨集

以下是這個函式庫中定義的唯一的一個巨集:

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

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

序號函數& 描述##1該函數恢復最近一次調用#
void longjmp(jmp_buf environment, int value)setjmp()
巨集時儲存的環境,jmp_buf 參數的設定是由先前呼叫setjmp() 產生的。