MISRA C:2012 Rule 20.13

Линия, первая лексема которой является #, должна быть допустимой директивой предварительной обработки

Описание

Управляйте определением

Линия, первая лексема которой является #, должна быть допустимой директивой предварительной обработки

Объяснение

Вы обычно используете директиву предварительной обработки, чтобы условно исключить исходный код до соответствующего #else, #elif, или #endif с директивой сталкиваются. Если ваш компилятор не обнаруживает директиву предварительной обработки, потому что это уродливо или недопустимо, можно закончить, исключая большее количество кода, чем вы предназначили.

Если все директивы предварительной обработки синтаксически допустимы, даже в исключенном коде, этого непреднамеренного исключения кода не может произойти.

Обменивайтесь сообщениями в отчете

Директива не синтаксически значима.

Поиск и устранение проблем

Если вы ожидаете нарушение правила, но не видите его, обратитесь к Кодированию Стандартных Нарушений, Не Отображенных.

Проверяйте информацию

Группа: предварительная обработка директив
Категория: необходимый
Категория AGC: необходимый
Язык: C90, C99