Namespaces
Variants

_Exit

From cppreference.net
Определено в заголовочном файле <stdlib.h>
void _Exit ( int exit_code ) ;
(начиная с C99)
(до C11)
_Noreturn void _Exit ( int exit_code ) ;
(начиная с C11)
(до C23)
[ [ noreturn ] ] void _Exit ( int exit_code ) ;
(начиная с C23)

Вызывает нормальное завершение программы без полной очистки ресурсов.

Функции, переданные в at_quick_exit() или atexit() не вызываются. Будет ли выполнена очистка буферов открытых потоков с невыведенными данными, закрыты ли открытые потоки или удалены временные файлы - определяется реализацией.

Если exit_code равен 0 или EXIT_SUCCESS , в среду выполнения возвращается определенный реализацией статус, указывающий на успешное завершение. Если exit_code равен EXIT_FAILURE , возвращается определенный реализацией статус, указывающий на неуспешное завершение. В остальных случаях возвращается определенное реализацией значение статуса.

Содержание

Параметры

exit_code - статус завершения программы

Возвращаемое значение

(нет)

Пример

#include <stdlib.h>
#include <stdio.h>
/* _Exit does not call functions registered with atexit. */
void f1(void)
{
    puts("pushed first");
}
void f2(void)
{
    puts("pushed second");
}
int main(void)
{
    printf("Enter main()\n");
    atexit(f1);
    atexit(f2);
    fflush(stdout);   /* _Exit may not flush unwritten buffered data */
    _Exit(0);
}

Вывод:

Enter main()

Ссылки

  • Стандарт C17 (ISO/IEC 9899:2018):
  • 7.22.4.5 Функция _Exit (стр: 256)
  • Стандарт C11 (ISO/IEC 9899:2011):
  • 7.22.4.5 Функция _Exit (стр: 352)
  • Стандарт C99 (ISO/IEC 9899:1999):
  • 7.20.4.4 Функция _Exit (стр: 316)

Смотрите также

вызывает аварийное завершение программы (без очистки)
(функция)
вызывает нормальное завершение программы с очисткой
(функция)
C++ documentation для _Exit