Программа не должна содержать нарушений синтаксиса и ограничений стандарта С и не должна превышать предельных значений перевода реализации
Программа не должна содержать нарушений стандартного синтаксиса и ограничений Си и не должна превышать предельных значений перевода реализации.
Средство проверки правил проверяет наличие следующих проблем. Обратите внимание, что:
Спецификации могут зависеть от версии стандарта C, используемой в анализе. Посмотрите C standard version (-c-version).
Некоторые ограничения, используемые средством проверки, можно изменить с помощью опции -code-behavior-specifications. Посмотрите -code-behavior-specifications.
| Проблема | Стандартная зависимость C | Дополнительная информация |
|---|---|---|
Целочисленная константа выходит за пределы диапазона long int (если константа подписана) или unsigned long int (если константа не подписана). | Проверено только на C90. | Средство проверки правил использует ваши спецификации для размера long int переменная (обычно 32 бита). См. также Target processor type (-target). |
| Используется массив нулевого размера. | Проверено только на C90. | |
| Количество макросов, определенных в единицах преобразования, превышает предел, указанный в стандарте. | Число допустимых определений макросов:
| Средство проверки правил рассматривает единицу перевода как исходный файл и заголовочные файлы, включенные прямо или косвенно в исходный файл. |
Глубина вложенности в операторах потока управления (например, if, whileи т.д.) превышает предел, указанный в стандарте. | Максимально допустимая глубина вложенности:
| |
| Количество уровней включения с использованием файлов включения превышает предел, указанный в стандарте. | Максимально допустимое количество уровней включения:
| |
| Количество членов структуры или союза превышает предел, указанный в стандарте. | Максимальное число членов в структуре или профсоюзе:
| |
| Количество уровней вложенности в структуре превышает предел, указанный в стандарте. | Максимальная глубина вложенности:
| |
| Количество констант в одном перечислении превышает предел, указанный в стандарте. | Максимально допустимое число констант перечисления:
| |
| Используется инструкция языка сборки. | Проверка на соответствие всем стандартам C. | |
| Используется нестандартная директива препроцессора. | Проверка на соответствие всем стандартам C. | Средство проверки правил помечает использование директив препроцессора, которые не найдены в стандарте C, например, #ident, #alias и #assert. |
| Нераспознанный текст следует директиве препроцессора. | Проверка на соответствие всем стандартам C. | Средство проверки правил помечает посторонний текст после директивы препроцессора (строка, начинающаяся с #include <header> code |
Стандартные сообщения об ошибках компиляции не приводят к нарушению этого правила MISRA ®.
Совет
Для массового выравнивания всех результатов, полученных по одной и той же причине, используйте столбец Подробности (Detail) на панели Список результатов (Results List). Щелкните по заголовку столбца, чтобы сгруппировать все результаты с одной и той же записью. Выберите первый результат, а затем выберите последний результат при удержании Shift ключ. Присвойте статус одному из результатов. Если столбец подробных данных не отображается, щелкните правой кнопкой мыши любой другой заголовок столбца и включите этот столбец.
Если вы ожидаете нарушения правила, но не видите его, обратитесь к разделу Нарушения стандартов кодирования не отображаются.
| Группа: Стандартная среда C |
| Категория: Обязательно |
| Категория СМЖЛ: требуется |