MISRA C:2012 Rule 20.1

Директивам #include должны только предшествовать директивы препроцессору или комментарии

Описание

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

Директивам #include должны только предшествовать директивы препроцессору или комментарии.

Объяснение

Для лучшей удобочитаемости кода, группа весь #include директивы в файле наверху файла. Неопределенное поведение может произойти, если вы используете #include включать стандартный заголовочный файл в объявлении или определении, или если вы используете часть Стандартной Библиотеки прежде включая связанные стандартные заголовочные файлы.

Реализация Polyspace

Polyspace® отмечает текст, который предшествует #include директива. Polyspace игнорирует директивы препроцессору, комментарии, пробелы или "новые строки".

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

Директивам #include должны только предшествовать директивы препроцессору или комментарии.

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

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

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

Группа: предварительная обработка директив
Категория: консультация
Категория AGC: консультация