MISRA C:2012 Rule 1.1

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

Описание

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

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

Реализация Polyspace

Средство проверки правила проверяет на эти проблемы. Технические требования могут зависеть от версии стандарта C, используемого в анализе. Смотрите C standard version (-c-version).

ПроблемаC стандартная зависимостьИнформация о Additonal
Целочисленная константа падения вне области значений long int (если константа подписывается), или unsigned long int (если константа без знака).Проверяемый на C90 только.Средство проверки правила использует ваши технические требования в размере long int переменная (обычно 32 бита). См. также Target processor type (-target).
Массив нулевого размера используется.Проверяемый на C90 только. 
Количество макросов, заданных в модуле перевода, превышает предел, заданный в стандарте.Количество макроопределений позволило:
  • C90: 1024

  • C99 и позже: 4095

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

  • C99 и позже: 127

 
Количество уровней условного включения (с #if, и т.д.), превышает предел, заданный в стандарте.Максимальное количество уровней условного включения позволило:
  • C90: 8

  • C99 и позже: 15

 
Число членов структуры или объединение превышают предел, заданный в стандарте.Максимальное количество членов в структуре или объединении:
  • C90: 127 (с 15 уровнями вложения)

  • C99 и позже: 1023 (с 63 уровнями вложения)

 
Количество констант в одном перечислении превышает предел, заданный в стандарте.Максимальное количество констант перечисления позволило:
  • C90: 127

  • C99 и позже: 1023

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

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

#include <header> code

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

Совет

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

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

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

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

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

Введенный в R2014b