_cexit, _c_exit
Esegue le operazioni di pulizia e restituisce senza terminare il processo.
void _cexit( void );
void _c_exit( void );
Note
Le chiamate di funzione _cexit, nell'ordine last in first, first out (LIFO), delle funzioni registrate da atexit e _onexit. Quindi _cexit elimina tutti i buffer di I/O e chiude tutti i flussi aperti prima di restituire. _c_exit è uguale a _exit ma restituisce al processo chiamante senza eseguire l'elaborazione di atexit o di _onexit o senza svuotare il buffer del flusso. Il comportamento di exit,_exit, _cexit, e _c_exit è illustrato nella tabella seguente.
Funzione |
Comportamento |
---|---|
exit |
Esegue le procedure complete di terminazione della libreria di C, termina il processo e terminata con il codice di stato fornito. |
_exit |
Esegue le procedure veloci di terminazione della libreria di C, termina il processo e terminata con il codice di stato fornito. |
_cexit |
Esegue le procedure complete di terminazione della libreria di C e ritorna al chiamante, ma non termina il processo. |
_c_exit |
Esegue le procedure veloci di terminazione della libreria di C e ritorna al chiamante, ma non termina il processo. |
Quando si chiamano le funzioni _c_exit o _cexit, i distruttori per gli oggetti temporanei o automatici presenti al momento della chiamata non vengono chiamati. Un oggetto automatico è un oggetto che è definito in una funzione in cui l'oggetto non è dichiarato come statico. Un oggetto temporaneo è un oggetto creato dal compilatore. Per eliminare un oggetto automatico prima di chiamare _cexit o _c_exit, chiamare in modo esplicito il distruttore dell'oggetto, come segue:
myObject.myClass::~myClass( );
Requisiti
Routine |
Intestazione obbligatoria |
---|---|
_cexit |
<process.h> |
_c_exit |
<process.h> |
Per ulteriori informazioni sulla compatibilità, vedere Compatibilità nell'introduzione.
Equivalente .NET Framework
System::Diagnostics::Process::CloseMainWindow