Unicorn with delicious cookie
Мы используем куки, чтобы пользоваться сайтом было удобно.
Хорошо
to the top
>
>
>
V2523. MISRA. All integer constants...
menu mobile close menu
Проверка проектов
Дополнительная информация
toggle menu Оглавление

V2523. MISRA. All integer constants of unsigned type should have 'u' or 'U' suffix.

19 Ноя 2018

Данное диагностическое правило основано на руководстве MISRA (Motor Industry Software Reliability Association) по разработке программного обеспечения.

Анализатор обнаружил использование целочисленного беззнакового литерала без суффикса 'U' / 'u' (суффикса 'U' в случае C++). Подобные литералы могут осложнить восприятие кода, так как их тип становится неочевиден. Более того, одни и те же литералы могут иметь разные типы на разных моделях данных.

Использование суффиксов для явного указания типа позволит избежать неоднозначностей при чтении числовых литералов.

Пример кода, на который анализатор выдаст предупреждение (если тип литерала на анализируемой платформе – беззнаковый):

auto typemask = 0xffffffffL;

Данная диагностика классифицируется как:

  • MISRA-C-7.2
  • MISRA-CPP-2.13.3