Aracılığıyla paylaş


setjmp

Program geçerli durumunu kaydeder.

int setjmp(
   jmp_buf env 
);

Parametreler

  • env
    Ortam saklandığı değişkeni.

Dönüş Değeri

Yığın ortamı kaydetme sonra 0 döndürür. setjmp Sonucu verir bir longjmp çağrısı, verdiği value bağımsız değişkeni longjmp, veya value bağımsız değişkeni longjmp 0'dır ve setjmp 1 döndürür. Döndürülen hata var.

Notlar

setjmp İşlevini kaydeder, daha sonra kullanarak geri yükleyebilirsiniz bir yığın ortamı longjmp. Birlikte kullanıldığında setjmp ve longjmp yerel olmayan yürütmek için bir yol sağlar goto. Bunlar genellikle normal arama kullanmadan yürütme denetimi hata işleme veya kurtarma kodu daha önce çağrılan yordam içinde geçmesi için kullanılan veya kuralları dönün.

Çağrı setjmp kaydeder geçerli yığın ortamında env. Sonradan longjmp kaydedilmiş ortam geri yükler ve noktasına döner denetim ilgili hemen sonra setjmp çağırın. Denetim alma yordamına erişilebilir tüm değişkenleri (dışında register değişkenler) sahip oldukları ne zaman değerleri içeren longjmp çağrıldı.

Kullanmak mümkün değil setjmp tarafından yönetilen kod yerel atlamak için.

Not   setjmpve longjmp C++ nesnesi semantiği desteklemez. C++ programlarında C++ özel durum işleme mekanizmasını kullanın.

Daha fazla bilgi için bkz: kullanarak setjmp ve longjmp.

Gereksinimler

Yordamı

Gerekli başlık

setjmp

<setjmp.h>

Ek uyumluluk bilgileri için bkz: Uyumluluk giriş.

Örnek

Örnek için bkz: _fpreset.

.NET Framework Eşdeğeri

Yoktur. Standart c işlevi çağırmak için kullanmak PInvoke. Daha fazla bilgi için bkz: Platform Çağırma örnekleri.

Ayrıca bkz.

Başvuru

İşlem ve ortam denetimi

longjmp

_setjmp3