_cexit, _c_exit
Executa operações de limpeza e retorna sem finalizar o processo.
void _cexit( void );
void _c_exit( void );
Comentários
As chamadas de função de _cexit , no último no, primeiro em expansão ordem de (LIFO), as funções inscritas por atexit e por _onexit. Em _cexit libera todos os buffers de E/S e fecha todas fluxos abertos antes de retornar. _c_exit é o mesmo que _exit mas retorna ao processo de chamada sem processar atexit ou _onexit ou liberar buffers de fluxo. O comportamento de exit,de_exit, de _cexit, e de _c_exit é mostrado na tabela a seguir.
Função |
Comportamento |
---|---|
exit |
Executa procedimentos de término completo da biblioteca de C, encerra o processo, e o será encerrado com o código de status fornecido. |
_exit |
Executa procedimentos rápidos de término da biblioteca de C, encerra o processo, e o será encerrado com o código de status fornecido. |
_cexit |
Executa procedimentos de término completo da biblioteca de C e retorna ao chamador, mas não encerra o processo. |
_c_exit |
Executa procedimentos rápidos de término da biblioteca de C e retorna ao chamador, mas não encerra o processo. |
Quando você chama as funções de _cexit ou de _c_exit , os destruidores para todos os objetos temporários ou automática que existem na hora da chamada não serão chamados. Um objeto automática é um objeto que é definido em uma função em que o objeto não é declarada para ser estático. Um objeto temporário é um objeto criado pelo compilador. Para destruir um objeto automático antes de chamar _cexit ou _c_exit, chamar explicitamente o destruidor para o objeto, como segue:
myObject.myClass::~myClass( );
Requisitos
Rotina |
Cabeçalho necessário |
---|---|
_cexit |
<process.h> |
_c_exit |
<process.h> |
Para obter mais informações sobre compatibilidade, consulte Compatibilidade na Introdução.
Equivalência do .NET Framework
System::Diagnostics::Process::CloseMainWindow