MISRA C:2012 Rule 20.13

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

Описание

Примечание

Используйте Bug Finder вместо Code Prover для проверки правил кодирования. Поддержка кодирования правил, регистрируясь в Code Prover будет удалена в будущем релизе. См. Вопросы совместимости.

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

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

Объяснение

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

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

Дополнительное сообщение в отчете

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

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

Если вы ожидаете нарушение правила, но не видите его, относитесь, чтобы Диагностировать, Почему Кодирующие Стандартные Нарушения Не Появляются как ожидалось.

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

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

Вопросы совместимости

развернуть все

Не рекомендуемый запуск в R2021b