Freigeben über


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.

Siehe auch

Referenz

Prozess- und Umgebungssteuerelement

longjmp

_setjmp3