Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Encerra o processo de chamada. A exit função termina-o após a limpeza _exit e _Exit encerra-o imediatamente.
Observação
Não use esse método para desligar um aplicativo da Plataforma Universal do Windows (UWP), exceto em cenários de teste ou depuração. As formas programáticas ou de interface do usuário para fechar um aplicativo da Loja não são permitidas de acordo com as políticas da Microsoft Store. Para obter mais informações, consulte Ciclo de vida do aplicativo UWP. Para obter mais informações sobre aplicativos UWP, consulte a documentação da Plataforma Universal do Windows.
Sintaxe
void exit(
int const status
);
void _Exit(
int const status
);
void _exit(
int const status
);
Parâmetros
status
Código de status de saída.
Observações
As exitfunções , _Exit e _exit encerram o processo de chamada. A exit função chama destruidores para objetos thread-local e, em seguida, chama — na ordem de último a entrar, primeiro a sair (LIFO) — as funções que são registradas por atexit e _onexite, em seguida, libera todos os buffers de arquivos antes de encerrar o processo. As _Exit funções e _exit encerram o processo sem destruir objetos thread-local ou processamento atexit ou _onexit funções, e sem liberar buffers de fluxo.
Embora o exit, _Exit e _exit chamadas não retornem um valor, o valor em status é disponibilizado para o ambiente host ou processo de chamada em espera, se existir, após o encerramento do processo. Normalmente, o chamador define o status valor como 0 para indicar uma saída normal ou para algum outro valor para indicar um erro. O status valor está disponível para o comando ERRORLEVEL batch do sistema operacional e é representado por uma de duas constantes: EXIT_SUCCESS, que representa um valor de 0 ou EXIT_FAILURE, que representa um valor de 1.
As exitfunções , _Exit, _exit, quick_exit, _cexit, e comportam-se _c_exit da seguinte forma.
| Função | Description |
|---|---|
exit |
Executa procedimentos completos de encerramento da biblioteca C, encerra o processo e fornece o código de status fornecido para o ambiente host. |
_Exit |
Executa procedimentos mínimos de terminação da biblioteca C, encerra o processo e fornece o código de status fornecido para o ambiente host. |
_exit |
Executa procedimentos mínimos de terminação da biblioteca C, encerra o processo e fornece o código de status fornecido para o ambiente host. |
quick_exit |
Executa procedimentos rápidos de encerramento da biblioteca C, encerra o processo e fornece o código de status fornecido ao ambiente host. |
_cexit |
Executa procedimentos completos de encerramento da biblioteca C e retorna ao chamador. Não encerra o processo. |
_c_exit |
Executa procedimentos mínimos de terminação da biblioteca C e retorna ao chamador. Não encerra o processo. |
Quando você chama o exit, _Exit ou _exit função, os destruidores de quaisquer objetos temporários ou automáticos que existem no momento da chamada não são chamados. Um objeto automático é um objeto local não estático definido em uma função. Um objeto temporário é um objeto criado pelo compilador, como um valor retornado por uma chamada de função. Para destruir um objeto automático antes de chamar exit, _Exitou _exitchamar explicitamente o destruidor para o objeto, conforme mostrado aqui:
void last_fn() {}
struct SomeClass {} myInstance{};
// ...
myInstance.~SomeClass(); // explicit destructor call
exit(0);
}
Não use DLL_PROCESS_ATTACH para ligar exitDllMainde . Para sair da função, retorne FALSE de DLL_PROCESS_ATTACHDLLMain .
Por padrão, o estado global dessa função tem como escopo o aplicativo. Para alterar esse comportamento, consulte Estado global na CRT.
Requerimentos
| Função | Cabeçalho obrigatório |
|---|---|
exit, _Exit, _exit |
<process.h> ou <stdlib.h> |
Para obter mais informações sobre compatibilidade, consulte Compatibilidade.
Example
// 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 );
}
Consulte também
Controlo de processos e ambientes
abort
atexit
_cexit, _c_exit
_exec, _wexec funções
_onexit, _onexit_m
quick_exit
_spawn, _wspawn funções
system, _wsystem