exit, _exit
Ukončí volající proces. Funkce exit ukončí proces po vyčištění a funkce _exit ukončí proces okamžitě.
[!POZNÁMKA]
Nepoužívejte tuto metodu k vypnutí aplikace Windows Store, s výjimkou testování nebo ladění scénářů.Programátorské způsoby zavírání aplikace Windows Store ani způsoby přes uživatelské rozhraní nejsou povoleny podle bodu 3.6 Podmínek certifikace aplikace pro systém Windows 8.Další informace naleznete v tématu Životní cyklus aplikace (Aplikace pro Windows Store).
void exit(
int status
);
void _exit(
int status
);
Parametry
- status
Stav ukončení.
Poznámky
Funkce exit a _exit ukončí volající proces.Funkce exit volá, v pořadí poslední dovnitř, první ven (LIFO), funkce registrované pomocí funkcí atexit a _onexit a poté předtím než proces ukončí, vyprázdní všechny vyrovnávací paměti souborů.Funkce _exit proces ukončí bez zpracování funkcí registrovaných pomocí funkcí atexit a _onexit a bez vyprázdnění vyrovnávací paměti datových proudů.Obvykle je parametr status nastaven na hodnotu 0 udávající normální ukončení nebo je nastaven na jinou hodnotu udávající chybu.
I když volání funkcí exit a _exit nevrací žádnou hodnotu, nejnižší bajt parametru status je volajícímu procesu k dispozici, pokud nějaký existuje, po tomto volání se proces ukončí.Hodnota parametru status je k dispozici dávkovému příkazu ERRORLEVEL operačního systému a je reprezentována jednou ze dvou konstant: EXIT_SUCCESS, která představuje hodnotu 0 nebo EXIT_FAILURE, která představuje hodnotu 1.Funkce exit, _exit, _cexit a _c_exit se chovají následovně.
Funkce |
Description |
---|---|
exit |
Provádí kompletní postupy ukončení knihovny jazyka C, ukončí proces a se zadaným kódem stavu se ukončí. |
_exit |
Provádí rychlé postupy ukončení knihovny jazyka C, ukončí proces a se zadaným kódem stavu se ukončí. |
_cexit |
Provádí kompletní postupy ukončení knihovny jazyka C a vrátí řízení volajícímu, ale neukončí proces. |
_c_exit |
Provádí rychlé postupy ukončení knihovny jazyka C a vrátí řízení volajícímu, ale neukončí proces. |
Při volání funkce exit nebo _exit nejsou volány destruktory žádných dočasných nebo automatických objektů, které existují v okamžiku volání.Automatický objekt je definován ve funkci, kde tento objekt není deklarován jako statický.Dočasný objekt je objekt, který je vytvořen kompilátorem.Chcete-li zničit automatický objekt před voláním funkce exit nebo _exit, explicitně zavolejte destruktor objektu následovně:
myObject.myClass::~myClass();
Pro volání funkce exit z funkce DllMain nepoužívejte hodnotu DLL_PROCESS_ATTACH.Pokud chcete funkci DLLMain ukončit, vraťte hodnotu FALSE z DLL_PROCESS_ATTACH.
Požadavky
Funkce |
Požadované záhlaví |
---|---|
exit |
<process.h> nebo <stdlib.h> |
_exit |
<process.h> nebo <stdlib.h> |
Další informace o kompatibilitě naleznete v tématu Kompatibilita.
Příklad
// crt_exit.c
// This program returns an exit code of 1. The
// error code could be tested in a batch file.
#include <stdlib.h>
int main( void )
{
exit( 1 );
}
Ekvivalent v rozhraní .NET Framework
System::Diagnostics::Process::Kill