Поделиться через


_cexit, _c_exit

Выполняет операции очистки и возвращает без завершения процесса.

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

Заметки

Функция _cexit вызывает, в порядке "последнее на входе — первое на выходе" (LIFO), функции, зарегистрированные atexit и _onexit. Затем _cexit удаляет все буферы ввода-вывода и закрывает все открытые потоки перед возвратом. _c_exit совпадает с _exit, но возвращает в вызывающий процесс без обработки atexit или _onexit или очистки буферов потоков. Поведение exit,_exit, _cexit и _c_exit показано в следующей таблице.

Функция

Поведение

exit

Выполняет полные процедуры завершения библиотеки C, завершает процесс и завершается с предоставленным кодом состояния.

_exit

Выполняет быстрые процедуры завершения библиотеки C, завершает процесс и завершается с предоставленным кодом состояния.

_cexit

Выполняет полные процедуры завершения библиотеки C и возвращает управление вызывающему объекту, но не завершает процесс.

_c_exit

Выполняет быстрые процедуры завершения библиотеки C и возвращает управление вызывающему объекту, но не завершает процесс.

При вызове функций _cexit или _c_exit, деструкторы для любых существующих во время вызова временных или автоматических объектов не вызываются. Автоматический объект является объектом, который определен в функции, в которой он не объявляется статическим. Временный объект — это объект, созданный компилятором. Чтобы удалить автоматический объект перед вызовом _cexit или _c_exit, явным образом вызовите деструктор объекта следующим образом:

myObject.myClass::~myClass( );

Требования

Подпрограмма

Обязательный заголовок

_cexit

<process.h>

_c_exit

<process.h>

Дополнительные сведения о совместимости см. в разделе Совместимость во введении.

Эквивалент в .NET Framework

System::Diagnostics::Process::CloseMainWindow

См. также

Ссылки

Управление процессами и средой

abort

atexit

Функции _exec, _wexec

exit, _exit

_onexit, _onexit_m

Функции _spawn, _wspawn

system, _wsystem