MISRA C:2012 Rule 1.1

Программа не должна содержать нарушения стандартного Синтаксиса C и ограничения, и не должна превышать пределы перевода реализации

Описание

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

Программа не должна содержать нарушения стандартного Синтаксиса C и ограничения, и не должна превышать пределы перевода реализации.

Реализация Polyspace

Средство проверки правила проверяет на проблемы ниже. Обратите внимание на то, что:

  • Технические требования могут зависеть от версии стандарта 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 только. 
Количество макросов, заданных в модуле перевода, превышает предел, заданный в стандарте.

Количество макроопределений позволило:

  • C90: 1024

  • C99 и позже: 4095

Средство проверки правила считает модуль перевода как исходный файл и заголовочные файлы включенным прямо или косвенно в исходный файл.
Глубина вложения в операторах управления (как ifв то время как, и т.д.), превышает предел, заданный в стандарте.

Максимальная глубина вложения позволила:

  • C90: 15

  • C99 и позже: 127

 
Количество уровней использования включения включает файлы, превышает предел, заданный в стандарте.

Максимальное количество уровней включения позволило:

  • C90: 8

  • C99 и позже: 15

 
Число членов структуры или объединение превышают предел, заданный в стандарте.

Максимальное количество членов в структуре или объединении:

  • C90: 127

  • C99 и позже: 1023

 
Количество уровней вложения в структуре превышает предел, заданный в стандарте.

Максимальная глубина вложения:

  • C90: 15

  • C99 и позже: 63

 
Количество констант в одном перечислении превышает предел, заданный в стандарте.

Максимальное количество констант перечисления позволило:

  • C90: 127

  • C99 и позже: 1023

 
Оператор ассемблера используется.Проверяемый на все стандарты C. 
Используется нестандартная директива препроцессору.Проверяемый на все стандарты C.Средство проверки правила отмечает использование директив препроцессору, которые не найдены в стандарте C, например, #ident, #alias и #assert.
Нераспознанный текст следует директиве препроцессору.Проверяемый на все стандарты C.

Средство проверки правила отмечает посторонний текст в соответствии с директивой препроцессору (линия, начинающаяся с #). Например:

#include <header> code

Стандартные сообщения ошибки компиляции не приводят к нарушению этого правила MISRA®.

Совет

К массе - выравнивают по ширине все результаты, которые прибывают из той же причины, используют столбец Detail на панели Results List. Кликните по заголовку столбца так, чтобы все результаты с той же записью группировались. Выберите первый результат и затем выберите последний результат при содержании Shift ключ. Присвойте состояние одному из результатов. Если вы не видите столбец Detail, щелкните правой кнопкой по любому другому заголовку столбца и включите этот столбец.

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

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

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

Группа: стандарт C среда
Категория: необходимый
Категория AGC: необходимый
Введенный в R2014b