Наборы правил для cppcheck

Cppcheck позволяет вам создавать свои собственные файлы правил, но я не знаю, какая часть функциональности cppcheck представлена.

Кто-нибудь работает на съемочной площадке JSF или же MISRA правила?

33

Решение

Вы не сможете реализовать все правила и директивы MISRA / JSF в качестве правил cppcheck, в основном только простые, ограничивающие определенные функции и конструкции языка C или связанные со стилем (некоторые из которых приходят на ум: пробелы до / после ./ ->, # аргументов в одной строке, использование объединений для предоставления различных методов доступа к памяти, наличие неподписанных / подписанных перед символом и т. д.).

пользователь Ира Бакстер в значительной степени прибил его в комментарий другой вопрос, касающийся cppcheck: не все можно представить / упростить в виде шаблона. Опираясь на шаблоны для пользовательских правил затрудняет обработку и обнаружение проблем более высокого уровня, связанных, например, с типы (например, sizeof () для типов; вам придется анализировать и собирать токены (typedefs, enums), используемые в качестве представления типов), наследование (например, классы, включая производные, используемые как виртуальные, так и не виртуальные), а также объем. Они должны быть жестко запрограммированы в cppcheck (вы всегда можете форкнуть cppcheck …)

В любом случае, вы касались правил MISRA (или JSF)? Это требование для проекта? Если нет, вы можете получить копию руководств MISRA (у вас уже есть JSF) и проверить те, которые вы можете реализовать, используя шаблоны PCRE. Если это требование, я предлагаю вам «инвестировать» в коммерческий продукт, который проверяет рекомендации MISRA / JSF и использует оба инструмента.

Последнее замечание: вам не нужны все правила MISRA / JSF, и многие инструменты не учитывают их.

10

Другие решения

Из того, что я могу сказать, просматривая документацию, это выглядит довольно разоблаченным. http://cppcheck.sourceforge.net/manual.pdf .

1

Cppcheck имеет поддержку MISRA. Вот краткий обзор поддерживаемых правил: поддерживаемые правила MISRA

1
По вопросам рекламы [email protected]