rusi/include/stdnoreturn.h

49 lines
2.4 KiB
C
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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