Ответ 1
Cppcheck является открытым исходным кодом и кросс-платформенным.
Какой инструмент анализа статического кода С++ вы знаете для разработки Microsoft Windows и какие основные функции он предлагает?
Просьба указать, зависит ли конкретный инструмент от cygwin, и является ли его FOSS бесплатным или требует покупки.
Аналогичный вопрос: Какие средства статического анализа С++ с открытым исходным кодом доступны?
Вот сводка текущего состояния:
Cppcheck является открытым исходным кодом и кросс-платформенным.
Если вы запустите VC2008 (версия Express бесплатна), а затем установите последнюю версию Windows SDK, вы можете получить те же инструменты анализа статического кода PREFAST, которые доступны только в VSTT. Если вы уже используете Visual Studio, это отличный способ, если вы используете GCC или какой-либо другой компилятор для Win32, вам нужно искать в другом месте.
Мы используем Coverity. Это не бесплатно, но Windows - поддерживаемая форма.
Я также слышал, что Oink является хорошим.
PC-Lint делает справедливый бит статического анализа.
Klocwork "Insight" - это другое, но это не бесплатно. Я также использовал Coverity "Предотвращение". Оба являются очень хорошими продуктами, если вы не против расходов.
Я думаю, что эти 3 статических анализатора с открытым исходным кодом впечатляют:
Cppcheck - Легко с интерфейсом gui. Проверяет стандарты кодирования и другие критические проблемы.
cccc - выводит показатели кодирования, например, строки строк, индекс сложности кода, количество комментариев и т.д.
Cqual ++ - Цель Cqual ++ заключается в поиске ошибок потока данных, нечувствительных к потоку. (Вы должны построить этот инструмент из источника)
Мой вопрос: могу ли я добавить собственные стандарты кодирования? Существуют ли какие-либо открытые инструменты, поддерживающие добавление пользовательских стандартов кодирования?
Вы можете протестировать наш инструмент CppDepend, версия Pro не бесплатна, но пробной версии может быть достаточно для многих потребностей.
В Visual Studio Team System теперь есть инструменты анализа кода (хотя VSTT довольно дорого).
Я один из разработчиков инструмента статического анализа Visual Studio C/С++, называемый Goanna. Это стоит денег (есть бесплатная пробная версия), но я бы хотел, чтобы это хорошо.
Наш DMS Software Reengineering Toolkit обрабатывает множество диалектов С++ включая С++ 11.
Предварительно сконфигурированная версия может быть получена с помощью дублированного детектора кода (точные или близкие клоны) но, как правило, DMS предназначен для настройки для проведения необходимого анализа.
DMS - это коммерческий пакет.
РЕДАКТИРОВАТЬ Да, вы можете запрограммировать свои собственные анализы или проверки стиля.
Я использовал монитор источника в течение многих лет. некоторые вещи делают великие дела. Лучше всего то, что он бесплатный.
Посмотрите на hompage для источника здесь: Source Monitor
Два года назад я использовал Scitools Understand. Он переносимый (по крайней мере, комбинация Windows-Linux, который мы используем) и поддерживает несколько языков. Вполне возможно, что это не то, что вам нужно, но...
В любом случае будет интересно, что он довольно доступный и что поддержка впечатляет, вопросы и вопросы чаще всего не рассматриваются в тот же день.
Я использую PC-Lint для статического обзора кода!
Vera ++ также позволяет проверять стандарты пользовательского кодирования с помощью скриптов...