Spec-Zone.ru › C

Утилиты поддержки программ

Окончание работы программы

Следующие функции управляют завершением работы программы и очисткой ресурсов.

Определено в заголовке <stdlib.h>
abort
вызывает аномальное завершение программы (без очистки)
(функция)
exit
вызывает нормальное завершение программы с очисткой
(функция)
quick_exit
(C11)
вызывает нормальное завершение программы без полной очистки
(функция)
_Exit
(C99)
вызывает нормальное завершение программы без очистки
(функция)
atexit
регистрирует функцию, которая будет вызвана при exit() вызове
(функция)
at_quick_exit
(C11)
регистрирует функцию, которая будет вызвана при вызове quick_exit
(функция)
EXIT_SUCCESSEXIT_FAILURE
указывает статус выполнения программы
(макроконстанта)

Недостижимый поток управления

Определено в заголовке <stddef.h>
unreachable
(C23)
помечает недостижимую точку выполнения
(функциональная макрос)

Взаимодействие с окружением

Определено в заголовке <stdlib.h>
system
вызывает обработчик командной строки среды
(функция)
getenvgetenv_s
(C11)
доступ к списку переменных среды
(функция)

Сигналы

Предоставляются несколько функций и макроконстант для управления сигналами.

Определено в заголовке <signal.h>
signal
задает обработчик сигнала для определенного сигнала
(функция)
raise
запускает обработчик сигнала для определенного сигнала
(функция)
sig_atomic_t
целочисленный тип, который может быть доступен как атомарная сущность из обработчика асинхронного сигнала
(переопределение типа)
SIG_DFLSIG_IGN
определяет стратегии обработки сигналов
(макроконстанта)
SIG_ERR
возникла ошибка
(макроконстанта)
Типы сигналов
SIGABRTSIGFPESIGILLSIGINTSIGSEGVSIGTERM
определяет типы сигналов
(макроконстанта)

Нелокальные переходы

Определено в заголовке <setjmp.h>
setjmp
сохраняет контекст
(функциональная макрос)
longjmp
переходит к указанному месту
(функция)
Типы
jmp_buf
тип контекста выполнения
(переопределение типа)

Ссылки

  • Стандарт C17 (ISO/IEC 9899:2018):
    • 7.13 Нелокальные переходы <setjmp.h> (с. 191-192)
    • 7.14 Обработка сигналов <signal.h> (с. 193-195)
    • 7.22 Общие утилиты <stdlib.h> (с. 248-262)
    • 7.31.7 Обработка сигналов <signal.h> (с. 332)
    • 7.31.12 Общие утилиты <stdlib.h> (с. 333)
  • Стандарт C11 (ISO/IEC 9899:2011):
    • 7.13 Нелокальные переходы <setjmp.h> (с. 262-264)
    • 7.14 Обработка сигналов <signal.h> (с. 265-267)
    • 7.22 Общие утилиты <stdlib.h> (с. 340-360)
    • 7.31.7 Обработка сигналов <signal.h> (с. 455)
    • 7.31.12 Общие утилиты <stdlib.h> (с. 456)
  • Стандарт C99 (ISO/IEC 9899:1999):
    • 7.13 Нелокальные переходы <setjmp.h> (с. 243-245)
    • 7.14 Обработка сигналов <signal.h> (с. 246-248)
    • 7.20 Общие утилиты <stdlib.h> (с. 306-324)
    • 7.26.6 Обработка сигналов <signal.h> (с. 401)
    • 7.26.10 Общие утилиты <stdlib.h> (с. 402)
  • Стандарт C89/C90 (ISO/IEC 9899:1990):
    • 4.6 НЕЛОКАЛЬНЫЕ ПЕРЕХОДЫ <setjmp.h>
    • 4.7 ОБРАБОТКА СИГНАЛОВ <signal.h>
    • 4.10 ОБЩИЕ УТИЛИТЫ <stdlib.h>
    • 4.13.5 Обработка сигналов <signal.h>
    • 7.13.7 Общие утилиты <stdlib.h>

См. также

Документация C++ для Утилиты поддержки программ

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/c/program

Spec-Zone.ru

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