_Exit
Определено в заголовке <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++ для _Exit |
|
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/c/program/_Exit