C ++: n longjmp () -toiminto palauttaa aiemmin tallennetun ympäristön soittamalla setjmp ().
Longjmp () -toiminto määritetään otsikkotiedostossa.
longjmp () prototyyppi
void longjmp (jmp_buf env, int-tila);
Ladattava ympäristö tallennetaan argumenttiin env, joka tallennetaan kutsumalla setjmp () -funktiota.
longjmp () -parametrit
- env: Objekti, jonka tyyppi on jmp_buf ja joka tallentaa ympäristön ladattavaksi.
- status: Muuttuja, joka palautetaan setjmp: stä. Jos se on yhtä suuri kuin 0, käytetään sen sijaan 1.
longjmp () Palautusarvo
- Ei mitään
Esimerkki: Kuinka longjmp () -toiminto toimii?
#include #include using namespace std; int main() ( jmp_buf env; int val; val = setjmp(env); if (val==0) ( cout << "setjmp returned " << val << endl; longjmp(env,val); ) else ( cout << "setjmp returned " << val << endl; cout << "Program terminating" << endl; ) return 0; )
Kun suoritat ohjelmaa, tulos on:
setjmp palautti 0 setjmp palautti 1 Ohjelma päättyi