setjmp
Salvare lo stato corrente del programma.
int setjmp(
jmp_buf env
);
Parametri
- env
Variabile in cui viene archiviato l'ambiente.
Valore restituito
Restituisce 0 dopo aver salvato l'ambiente dello stack.se setjmp restituisce come risultato di un oggetto longjmp chiamata, restituisce value argomento di longjmp, o se value argomento di longjmp è 0, setjmp restituisce 1.Non sono presenti ritorni di errore.
Note
setjmp la funzione salva un ambiente dello stack, che è possibile un ripristino, tramite longjmp.una volta utilizzato insieme, setjmp e longjmp fornire un modo per eseguire un non locale goto.In genere utilizzate per passare il controllo dell'esecuzione della gestione degli errori o del codice di recupero in una routine precedentemente denominata senza utilizzare chiamare normale o le convenzioni di restituire.
una chiamata a setjmp salva l'ambiente corrente dello stack in env.una chiamata successiva a longjmp ripristina il controllo salvato viene restituito e l'ambiente al punto immediatamente dopo la corrispondenza setjmp chiamata.Tutte le variabili (eccetto le variabili del registro) accessibili al controllo di routine contengono valori che avevano quando longjmp è stato chiamato.
Non è possibile utilizzare setjmp per passare da nativo a codice gestito.
Nota setjmp e longjmp non supportano la semantica di oggetti C++.Nei programmi C++, utilizzare il meccanismo di gestione delle eccezioni C++.
Per ulteriori informazioni, vedere Utilizzando setjmp e di longjmp.
Requisiti
routine |
Intestazione di associazione |
---|---|
setjmp |
<setjmp.h> |
per informazioni di compatibilità aggiuntive, vedere compatibilità nell'introduzione.
Esempio
Vedere l'esempio relativo a _fpreset.
Equivalente .NET Framework
Non applicabile. Per chiamare la funzione c standard, utilizzare PInvoke. Per ulteriori informazioni, vedere Esempi di pinvoke.