_cexit, _c_exit

Executa operações de limpeza e retorna sem encerrar o processo.

Sintaxe

void _cexit( void );
void _c_exit( void );

Comentários

A função _cexit chama, na ordem UEPS (último a entrar, primeiro a sair), as funções registradas por atexit e _onexit. Em seguida, _cexit libera todos os buffers de E/S e fecha todos os fluxos abertos antes de retornar. _c_exit é o mesmo que _exit, mas retorna para o processo de chamada sem processar atexit ou _onexit ou liberar buffers de fluxo. O comportamento de exit, _exit, _cexit, e _c_exit é mostrado na tabela a seguir.

Função Comportamento
exit Executa procedimentos completos de encerramento de biblioteca C, encerra o processo e sai com código de status fornecido.
_exit Executa procedimentos rápidos de encerramento de biblioteca C, encerra o processo e sai com código de status fornecido.
_cexit Executa procedimentos completos de encerramento da biblioteca C e retorna ao chamador, mas não encerra o processo.
_c_exit Executa procedimentos rápidos de encerramento da biblioteca C e retorna ao chamador, mas não encerra o processo.

Quando você chama as _cexit funções or _c_exit , os destruidores de quaisquer objetos temporários ou automáticos existentes no momento da chamada não são chamados. Um objeto automático é um objeto definido em uma função em que o objeto não é declarado estático. Um objeto temporário é um objeto criado pelo compilador. Para destruir um objeto automático antes de chamar _cexit ou _c_exit, chame explicitamente o destruidor do objeto da seguinte maneira:

myObject.myClass::~myClass( );

Por padrão, o estado global dessa função tem como escopo o aplicativo. Para alterar esse comportamento, confira Estado global no CRT.

Requisitos

Rotina Cabeçalho necessário
_cexit <processo.h>
_c_exit <processo.h>

Para obter informações sobre compatibilidade, consulte Compatibilidade.

Confira também

Controle de processo e ambiente
abort
atexit
_exec, _wexec funções
exit, _Exit, _exit
_onexit, _onexit_m
_spawn, _wspawn funções
system, _wsystem