<b>setjmp.h</b> 頭檔案定義了宏 <b>setjmp()</b>、函數 <b>longjmp()</b> 和變量類型 <b>jmp_buf</b>,該變量類型會繞過正常的函數調用和傳回規則。
下面列出了頭檔案 setjmp.h 中定義的變量:
序号
變量 & 描述
1
<b>jmp_buf </b>
這是一個用于存儲宏 <b>setjmp()</b> 和函數 <b>longjmp()</b> 相關資訊的數組類型。
下面是這個庫中定義的唯一的一個宏:
宏 & 描述
int setjmp(jmp_buf environment)
這個宏把目前環境儲存在變量 <b>environment</b> 中,以便函數 <b>longjmp()</b> 後續使用。如果這個宏直接從宏調用中傳回,則它會傳回零,但是如果它從 <b>longjmp()</b> 函數調用中傳回,則它會傳回一個非零值。
下面是頭檔案 setjmp.h 中定義的唯一的一個函數:
函數 & 描述
void longjmp(jmp_buf environment, int value)
該函數恢複最近一次調用 <b>setjmp()</b> 宏時儲存的環境,<b>jmp_buf</b> 參數的設定是由之前調用 setjmp() 生成的。