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

См. также

Ссылки

Процесс и управление среды

abort

atexit

_cexit, _c_exit

_exec, функции _wexec

_onexit, _onexit_m

_spawn, функции _wspawn

system, _wsystem