linux下面長跳函數的使用

用長跳轉函數可以在函數間實現跳轉

int stejmp(jmp_buf env),函數用來把點錢狀態星系保存到env中,供以後龍jmp函數會費狀態信息時使用,如果是直接調用setjmp,那麼返回值是零

void longjmp(jmp_buf env,  int val),龍jmp函數用來恢復由最近一次調用setjmp函數時保存到env的狀態信息,當它執行完時,程序·1就像setjmp剛剛執行完並返回非零值val那樣繼續執行,包含setjmp函數嗲用函數一定不能是已經終止了的,所有可訪問的對象的值都與調用longjmp時相同,唯一的例外是,哪些setjmp函數中的非volatile自動變量如果在嗲用setjmp後有了改變,那麼就編程未定義的了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章