Программа не должна содержать нарушения стандартного Синтаксиса C и ограничения, и не должна превышать пределы перевода реализации
Программа не должна содержать нарушения стандартного Синтаксиса C и ограничения, и не должна превышать пределы перевода реализации.
Средство проверки правила проверяет на проблемы ниже. Обратите внимание на то, что:
Технические требования могут зависеть от версии стандарта 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 в то время как , и т.д.), превышает предел, заданный в стандарте. | Максимальная глубина вложения позволила:
| |
Количество уровней использования включения включает файлы, превышает предел, заданный в стандарте. | Максимальное количество уровней включения позволило:
| |
Число членов структуры или объединение превышают предел, заданный в стандарте. | Максимальное количество членов в структуре или объединении:
| |
Количество уровней вложения в структуре превышает предел, заданный в стандарте. | Максимальная глубина вложения:
| |
Количество констант в одном перечислении превышает предел, заданный в стандарте. | Максимальное количество констант перечисления позволило:
| |
Оператор ассемблера используется. | Проверяемый на все стандарты C. | |
Используется нестандартная директива препроцессору. | Проверяемый на все стандарты C. | Средство проверки правила отмечает использование директив препроцессору, которые не найдены в стандарте C, например, #ident , #alias и #assert . |
Нераспознанный текст следует директиве препроцессору. | Проверяемый на все стандарты C. | Средство проверки правила отмечает посторонний текст в соответствии с директивой препроцессору (линия, начинающаяся #include <header> code |
Стандартные сообщения ошибки компиляции не приводят к нарушению этого правила MISRA®.
Совет
К массе - выравнивают по ширине все результаты, которые прибывают из той же причины, используют столбец Detail на панели Results List. Кликните по заголовку столбца так, чтобы все результаты с той же записью группировались. Выберите первый результат и затем выберите последний результат при содержании Shift
ключ. Присвойте состояние одному из результатов. Если вы не видите столбец Detail, щелкните правой кнопкой по любому другому заголовку столбца и включите этот столбец.
Если вы ожидаете нарушение правила, но не видите его, обратитесь к Кодированию Стандартных Нарушений, Не Отображенных.
Группа: стандарт C среда |
Категория: необходимый |
Категория AGC: необходимый |