Spec-Zone.ru › C

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)

См. также

abort
вызывает аномальное завершение программы (без очистки)
(функция)
atexit
регистрирует функцию для вызова при exit() вызове
(функция)
at_quick_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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API