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


_cexit, _c_exit

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

Синтаксис

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

Замечания

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

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

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

myObject.myClass::~myClass( );

По умолчанию глобальное состояние этой функции ограничивается приложением. Чтобы изменить это поведение, см . статью "Глобальное состояние" в CRT.

Требования

Маршрут Обязательный заголовок
_cexit <process.h>
_c_exit <process.h>

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

См. также

Управление процессами и средой
abort
atexit
_exec, _wexec функции
exit, , _Exit_exit
_onexit, _onexit_m
_spawn, _wspawn функции
system, _wsystem