# define и # undef не должны использоваться для зарезервированного идентификатора или зарезервированного имени макроса
# define и # undef не должны использоваться для зарезервированного идентификатора или зарезервированного имени макроса.
Зарезервированные идентификаторы и зарезервированные имена макросов предназначены для использования реализацией. Удаление или изменение значения зарезервированного макроса может привести к неопределенному поведению. Это правило распространяется на следующее:
Идентификаторы или имена макросов, начинающиеся с подчеркивания
Идентификаторы в области файла, описанные в стандартной библиотеке C
Имена макросов, описанные в стандартной библиотеке C как определенные в стандартном заголовке
Средство проверки правил может помечать различные идентификаторы или макросы в зависимости от версии стандарта Си, используемого в анализе. Посмотрите C standard version (-c-version). Например, при выполнении анализа C99 зарезервированные идентификаторы и макросы определяются в стандарте ISO ®/IEC 9899:1999, раздел 7, «Библиотека».
Макрос macro_name не должны быть переопределены.
Макрос macro_name не должно быть неопределенным.
Макрос macro_name не определяется.
Если вы ожидаете нарушения правила, но не видите его, обратитесь к разделу Нарушения стандартов кодирования не отображаются.
| Группа: Стандартные библиотеки |
| Категория: Обязательно |
| Категория СМЖЛ: требуется |