setjmp
Speichert den aktuellen Zustand des Programms.
int setjmp(
jmp_buf env
);
Parameter
- env
Die Variable, in der Umgebung gespeichert wird.
Rückgabewert
Nach dem Speichern der Stapel Umgebungen gibt 0 zurück.Wenn setjmp Ergebnis eines Aufrufs longjmp beendet, gibt er das value-Argument von longjmpzurück, oder wenn das valuelongjmp-Argument 0 ist, gibt setjmp 1 zurück.Es gibt keine Fehler werden.
Hinweise
Die setjmp-Funktion speichert eine Stapel Umgebungen, die Sie später wiederhergestellt werden kann, mit longjmp.Wenn sie zusammen verwendet werden, bieten eine Möglichkeit longjmp und setjmp lokal nicht gotoauszuführen.Sie werden in der Regel verwendet, um die Fehlerbehandlung oder Wiederherstellen Execution Control um Code in einer zuvor aufgerufene Routine übergeben, ohne das normale Aufruf oder die konventionen zu verwenden.
Ein Aufruf von setjmp speichert die aktuelle Stapel Umgebungen in env.Ein nachfolgender Aufruf von longjmp stellt die gespeicherte Umgebung wiederhergestellt und gibt die Steuerung unmittelbar nach dem Punkt im entsprechenden setjmp Aufruf zurück.Alle Variablen (mit Ausnahme von Register verfügbar) der Variablen an den empfangenden RoutineSteuerelement enthalten die Werte, die sie hatten, als longjmp aufgerufen wurde.
Es ist nicht möglich, setjmp verwenden, um vom systemeigenen zu verwaltetem Code zu springen.
Hinweis setjmp und longjmp unterstützen keine Semantik C++-Objekt.In C++-Programmen verwenden Sie den Mechanismus zur C++-Ausnahmebehandlungs.
Weitere Informationen finden Sie unter Verwenden von setjmp und longjmp.
Anforderungen
Routine |
Erforderlicher Header |
---|---|
setjmp |
<setjmp.h> |
Um Kompatibilität zusätzlichen Informationen finden Sie unter Kompatibilität in der Einführung.
Beispiel
Weitere Informationen finden Sie im Beispiel für _fpreset.
.NET Framework-Entsprechung
Nicht zutreffend. Um die Standard-C-Funktion aufrufen, verwenden Sie PInvoke. Weitere Informationen finden Sie unter Plattformaufruf-Beispiele.