quick_exit
Определено в заголовочном файле <stdlib.h> | ||
|---|---|---|
_Noreturn void quick_exit( int exit_code ); |
(с C11) (до C23) | |
[[noreturn]] void quick_exit( int exit_code ); | (с C23) |
Вызывает нормальное завершение программы без полной очистки ресурсов.
Функции, переданные в at_quick_exit вызываются в обратном порядке их регистрации. После вызова зарегистрированных функций, вызывается _Exit(exit_code).
Функции, переданные в atexit или обработчики сигналов, переданные в signal не вызываются.
Параметры
| exit_code | - | код завершения программы |
Возвращаемое значение
(нет)
Пример
#include <stdlib.h>
#include <stdio.h>
void f1(void)
{
puts("pushed first");
fflush(stdout);
}
void f2(void)
{
puts("pushed second");
}
void f3(void)
{
puts("won't be called");
}
int main(void)
{
at_quick_exit(f1);
at_quick_exit(f2);
atexit(f3);
quick_exit(0);
}Вывод:
pushed second pushed first
Ссылки
- Стандарт C17 (ISO/IEC 9899:2018):
- 7.22.4.7 Функция quick_exit (с. 257)
- Стандарт C11 (ISO/IEC 9899:2011):
- 7.22.4.7 Функция quick_exit (с. 353)
См. также
| вызывает аномальное завершение программы (без очистки) (функция) |
|
регистрирует функцию для вызова при exit() вызове (функция) |
|
|
(C11) | регистрирует функцию для вызова при вызове quick_exit (функция) |
Документация C++ для quick_exit |
|
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/c/program/quick_exit