Condividi tramite


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.

Vedere anche

Riferimenti

Processo e controllo ambiente

longjmp

_setjmp3