_cexit, _c_exit
Führt Bereinigungsvorgänge aus und wird zurückgegeben, ohne den Prozess zu beenden.
void _cexit( void );
void _c_exit( void );
Hinweise
Die _cexit-Funktionsaufrufe, in Reihenfolge Last in, First out (LIFO), die registrierten Funktionen von atexit und _onexit. Anschließend leert _cexit alle E/A-Puffer und schließt alle geöffneten Streams, bevor zurückkehrt. _c_exit entspricht _exit gibt zum aufrufenden Prozesses, ohne atexit oder _onexit zu verarbeiten oder Streampuffer zu entfernen. Das Verhalten von exit,_exit, _cexit und _c_exit wird in der folgenden Tabelle gezeigt.
Funktion |
Verhalten |
---|---|
exit |
Führt vollständige C-Bibliotheksbeendigungsprozeduren aus, beendet Prozess und endet mit angegebenem Statuscode. |
_exit |
Führt schnelle C-Bibliotheksbeendigungsprozeduren aus, beendet Prozess und endet mit angegebenem Statuscode. |
_cexit |
Führt vollständige C-Bibliotheksbeendigungsprozeduren aus und kehren zum Aufrufer zurück, endet jedoch nicht Prozess. |
_c_exit |
Führt schnelle C-Bibliotheksbeendigungsprozeduren aus und kehren zum Aufrufer zurück, endet jedoch nicht Prozess. |
Wenn Sie aufrufen, werden die _cexit_c_exit oder Funktionen, die Destruktoren für keine temporären oder automatische Objekte, die zum Zeitpunkt des Aufrufs vorhanden, nicht aufgerufen. Ein automatisches Objekt ist ein Objekt, das in einer Funktion definiert ist, in der das Objekt nicht deklariert, um statisch sein. Ein temporäres Objekt ist ein Objekt, das vom Compiler erstellt wird. Um ein automatisches Objekt bevor Sie _cexit oder _c_exit zu zerstören aufrufen, erhalten Sie den Destruktor explizit für das Objekt auf, wie folgt:
myObject.myClass::~myClass( );
Anforderungen
Routine |
Erforderlicher Header |
---|---|
_cexit |
<process.h> |
_c_exit |
<process.h> |
Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität in der Einführung.
.NET Framework-Entsprechung
System::Diagnostics::Process::CloseMainWindow
Siehe auch
Referenz
Prozess- und Umgebungssteuerung