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.