exit
, , _Exit
_exit
Ukončí volající proces. Funkce exit
ji ukončí po vyčištění _exit
a _Exit
okamžitě ji ukončí.
Poznámka:
Tuto metodu nepoužívejte k vypnutí aplikace Univerzální platforma Windows (UPW), s výjimkou scénářů testování nebo ladění. Programové způsoby zavření aplikace pro Store prostřednictvím kódu programu nebo uživatelského rozhraní nejsou povoleny podle zásad Microsoft Storu. Další informace najdete v tématu Životní cyklus aplikace pro UPW. Další informace o aplikacích pro UPW najdete v Univerzální platforma Windows dokumentaci.
Syntaxe
void exit(
int const status
);
void _Exit(
int const status
);
void _exit(
int const status
);
Parametry
status
Ukončete stavový kód.
Poznámky
_Exit
Funkce exit
a _exit
funkce ukonče volající proces. Funkce exit
volá destruktory pro objekty místní vlákna, potom volá funkce v pořadí posledního in-first-out (LIFO), které jsou registrovány atexit
, a _onexit
potom vyprázdní všechny vyrovnávací paměti souboru před ukončením procesu. _exit
Funkce _Exit
ukončují proces bez zničení místních objektů vlákna nebo zpracování atexit
nebo _onexit
funkcí a bez vyprázdnění vyrovnávacích pamětí streamu.
exit
_Exit
Přestože volání a _exit
volání nevrací hodnotu, je hodnota status
zpřístupněna hostitelskému prostředí nebo čekající volající proces, pokud existuje, po ukončení procesu. Volající obvykle nastaví status
hodnotu na 0, která označuje normální ukončení, nebo na jinou hodnotu, která označuje chybu. Hodnota status
je k dispozici pro příkaz ERRORLEVEL
dávky 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
, quick_exit
_exit
_cexit
a _c_exit
se chovají následujícím způsobem.
Function | Popis |
---|---|
exit |
Provede úplné postupy ukončení knihovny C, ukončí proces a poskytne zadaný stavový kód hostitelskému prostředí. |
_Exit |
Provádí minimální postupy ukončení knihovny C, ukončí proces a poskytne zadaný stavový kód hostitelskému prostředí. |
_exit |
Provádí minimální postupy ukončení knihovny C, ukončí proces a poskytne zadaný stavový kód hostitelskému prostředí. |
quick_exit |
Provede rychlé postupy ukončení knihovny jazyka C, ukončí proces a poskytne zadaný stavový kód hostitelskému prostředí. |
_cexit |
Provede úplné postupy ukončení knihovny jazyka C a vrátí se volajícímu. Proces se neukončí. |
_c_exit |
Provede minimální postupy ukončení knihovny jazyka C a vrátí se volajícímu. Proces se neukončí. |
Při volání exit
, _Exit
nebo _exit
funkce destruktory pro všechny dočasné nebo automatické objekty, které existují v době volání nejsou volány. Automatický objekt je nestatický místní objekt definovaný ve funkci. Dočasný objekt je objekt vytvořený kompilátorem, například hodnota vrácená voláním funkce. Chcete-li zničit automatický objekt před voláním exit
, _Exit
nebo _exit
, explicitně volat destruktor objektu, jak je znázorněno zde:
void last_fn() {}
struct SomeClass {} myInstance{};
// ...
myInstance.~SomeClass(); // explicit destructor call
exit(0);
}
Nepoužívejte DLL_PROCESS_ATTACH
volání exit
z DllMain
. Pokud chcete funkci ukončit DLLMain
, vraťte FALSE
se z DLL_PROCESS_ATTACH
funkce .
Ve výchozím nastavení je globální stav této funkce vymezen na aplikaci. Chcete-li toto chování změnit, přečtěte si téma Globální stav v CRT.
Požadavky
Function | Požadovaný hlavičkový soubor |
---|---|
exit , , _Exit _exit |
<process.h> nebo <stdlib.h> |
Další informace o kompatibilitě najdete 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 );
}
Viz také
Řízení procesů a prostředí
abort
atexit
_cexit
, _c_exit
_exec
, _wexec
funkce
_onexit
, _onexit_m
quick_exit
_spawn
, _wspawn
funkce
system
, _wsystem