Sdílet prostřednictvím


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 exita _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 _onexitpotom 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_cexita _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, _Exitnebo _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_ATTACHfunkce .

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