Udostępnij za pośrednictwem


setjmp

Zapisuje bieżący stan programu.

int setjmp(
   jmp_buf env 
);

Parametry

  • env
    Zmienna, w której przechowywany jest środowisko.

Wartość zwracana

Zwraca 0 po zapisaniu środowiska stosu.Jeśli setjmp zwraca w wyniku longjmp wywołanie zwraca value argumentu longjmp, lub jeśli value argumentu longjmp jest równa 0, setjmp zwraca wartość 1.Istnieje bez powrotu błąd.

Uwagi

setjmp Funkcja zapisuje środowiska stosu, który można później przywrócić, używając longjmp.Gdy są używane razem, setjmp i longjmp umożliwiają wykonywanie innych niż lokalny goto.One są zazwyczaj używane do przekazywania kontroli realizacji do kodu obsługi błędów lub odzyskiwania w uprzednio nazywany rutynowych bez korzystania z normalnych telefonicznej lub powrócić do Konwencji.

Wywołanie setjmp zapisuje bieżące środowisko stosu w env.Kolejne wywołania longjmp przywraca zapisane środowiska i zwraca sterowanie do punktu tuż po odpowiednich setjmp wywołania.Wszystkie zmienne (z wyjątkiem zmienne rejestru) dostępne do rutynowych kontroli otrzymujących zawierają wartości, gdy mieli longjmp została wywołana.

Nie jest możliwe wykorzystanie setjmp do przechodzenia z macierzystego do kodu zarządzanego.

Uwaga   setjmpi longjmp nie obsługuje semantyki obiektów C++.W przypadku programów C++ użyj mechanizmu obsługi wyjątków C++.

Aby uzyskać więcej informacji, zobacz Using setjmp i longjmp.

Wymagania

Rozpoczęto wykonywanie procedury

Wymaganego nagłówka

setjmp

<setjmp.h>

Aby uzyskać dodatkowe informacje o zgodności, zobacz zgodności we wprowadzeniu.

Przykład

Zobacz przykład dla _fpreset.

Odpowiednik w programie .NET Framework

Nie dotyczy. Aby wywołać standardowych funkcji C, należy użyć PInvoke. Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy.

Zobacz też

Informacje

Proces i kontroli środowiska

longjmp

_setjmp3