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