49 lines
2.4 KiB
C
49 lines
2.4 KiB
C
// stdnoreturn.h - Спецификатор невозвратных функций
|
||
//
|
||
// Этот заголовочный файл определяет макрос noreturn, который является
|
||
// удобным синонимом ключевого слова _Noreturn из стандарта C11.
|
||
//
|
||
// Спецификатор noreturn сообщает компилятору, что функция никогда
|
||
// не возвращает управление вызывающему коду. Это позволяет компилятору
|
||
// выполнять дополнительные оптимизации и выдавать более точные
|
||
// предупреждения о недостижимом коде.
|
||
//
|
||
// Типичные примеры невозвратных функций:
|
||
// - exit() — завершение программы
|
||
// - abort() — аварийное завершение
|
||
// - _Exit() — немедленное завершение без очистки
|
||
// - quick_exit() — быстрое завершение
|
||
//
|
||
// Поддерживается как стандартный идентификатор (noreturn),
|
||
// так и русский синоним (безвозврат).
|
||
|
||
#ifndef _STDNORETURN_H_RU
|
||
#define _STDNORETURN_H_RU
|
||
|
||
// ============================================================
|
||
// Стандартный макрос C11
|
||
// ============================================================
|
||
|
||
// Спецификатор невозвратной функции.
|
||
// Применяется к объявлениям функций, которые не возвращают управление.
|
||
//
|
||
// Пример использования:
|
||
// #include <stdnoreturn.h>
|
||
// noreturn void завершить_программу(цел код) {
|
||
// exit(код);
|
||
// }
|
||
#define noreturn _Noreturn
|
||
|
||
// ============================================================
|
||
// Русский синоним для удобства
|
||
// ============================================================
|
||
|
||
// Спецификатор невозвратной функции (русский синоним).
|
||
//
|
||
// Пример использования:
|
||
// безвозврат пусто аварийный_выход(цел код) {
|
||
// выход(код);
|
||
// }
|
||
#define безвозврат _Noreturn
|
||
|
||
#endif // _STDNORETURN_H_RU
|