exit, _exit
при вызове exit завершает процесс после очистки; _exit выполнит ее незамедлительно.
Примечание |
---|
Не используйте этот метод, чтобы завершить приложение Магазина Windows, за исключением тестирования или в сценариях отладки.Способы программного или пользовательского интерфейса закрыть приложение Магазина Windows не включены в соответствии с разделом 3,6 Требования к центра приложение для Windows 8.Дополнительные сведения см. в разделе Жизненный цикл приложения (Магазина приложения Windows. |
void exit(
int status
);
void _exit(
int status
);
Параметры
- status
Состояние выхода.
Заметки
Функции exit и _exit при вызове начала процесса.exit вызов- в имеющую первых - в функциях порядка - (LIFO), зарегистрированными atexit и _onexit, а затем удаляются все файловые буферы до его завершения процесса._exit завершает процесс без обработки atexit или _onexit и без топя буферов потока.Как правило, значение status присвоено значение 0 для обозначения обычные выход или набор какому-либо другому значение для отображения ошибки.
Хотя вызовы exit и _exit не возвращают значения, младшим байтом status становится доступным в, вызывающий процесс, если он существует, то после вызова процесс не влияет.Значение типа status, доступно для команды ERRORLEVEL пакета операционной системы и представлено одной из 2 констант. EXIT_SUCCESS, представляющий значение 0, или EXIT_FAILURE, которая представляет значение 1.exit, _exit, _cexit и _c_exit ведут себя следующим образом.
Функция |
Описание |
---|---|
exit |
Выполняет полный процедуры завершения библиотеки C, завершите процесс и отобразится с предоставленным кодом состояния. |
_exit |
Выполняет быстрые процедуры завершения библиотеки C, завершите процесс и отобразится с предоставленным кодом состояния. |
_cexit |
Выполняет полный процедуры завершения библиотеки C и возвращает управление вызывающему объекту, но не завершает процесс. |
_c_exit |
Выполняет быстрые процедуры завершения библиотеки C и возвращает управление вызывающему объекту, но не завершает процесс. |
При вызове функции exit или _exit, деструкторы для любой временного или автоматические объекты, которые существуют во время вызова не вызываются.Auto объект указан в функции, не объявляется объект статическим.Временный объект объект, созданный компилятором.Чтобы удалить автоматический объект перед вызовом exit или _exit, явным образом вызовите деструктор для объекта, следующим образом:
myObject.myClass::~myClass();
Не используйте класс DLL_PROCESS_ATTACH для вызова exit из DllMain.Если требуется отключить функцию DLLMain, возвращает FALSE из DLL_PROCESS_ATTACH.
Требования
Функция |
Требуемый заголовок |
---|---|
exit |
<process.h> или <stdlib.h> |
_exit |
<process.h> или <stdlib.h> |
Для дополнительных данных о совместимости см. в разделе Совместимость.
Пример
// crt_exit.c
// This program returns an exit code of 1. The
// error code could be tested in a batch file.
#include <stdlib.h>
int main( void )
{
exit( 1 );
}
Эквивалент в .NET Framework
System::Diagnostics::Process::Kill