_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