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.