rusi/include/stdnoreturn.h

49 lines
2.4 KiB
C
Raw Normal View History

// 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