longjmp函數(shù) longjmp和siglongjmp的區(qū)別?
longjmp和siglongjmp的區(qū)別?Goto語句實現(xiàn)程序執(zhí)行的本地跳轉,longjmp()和setjmp()函數(shù)實現(xiàn)程序執(zhí)行的遠程跳轉。一般來說,應該避免任何形式的執(zhí)行跳轉,因為在程序中使用g
longjmp和siglongjmp的區(qū)別?
Goto語句實現(xiàn)程序執(zhí)行的本地跳轉,longjmp()和setjmp()函數(shù)實現(xiàn)程序執(zhí)行的遠程跳轉。一般來說,應該避免任何形式的執(zhí)行跳轉,因為在程序中使用goto語句或longjmp()函數(shù)不是一個好的編程習慣。goto語句跳過程序中的一段代碼并轉到預先指定的位置。為了使用goto語句,您需要預先指定一個帶標簽的位置作為跳轉位置,它必須與goto語句具有相同的功能。不同功能之間無法實現(xiàn)跳轉。
setjmp與longjmp的使用是怎樣的?
Setjmp無法跳轉。它只能用于保存當前執(zhí)行的堆棧信息以供以后使用。真正的跳躍是longjmp。Longjmp應與setjmp一起使用。Longjmp可以跳到執(zhí)行setjmp的地方。