by PortableApps
Cppcheck бесплатный, с открытым исходным кодом, инструмент статического анализа кода для C / C++. В отличие от C / C++ компиляторов и многих других инструментов анализа, программа не обнаруживает синтаксические ошибки, а только определяет типы ошибок, которые составители обычно не в состоянии обнаружить. Программа упакована в .paf формат и поддерживает обновление установкой на существующие копии. И это с открытым исходным кодом и совершенно бесплатно.
Cppcheck поддерживает широкий набор статических проверок, которые не могут быть охвачены самим компилятором. Эти проверки статического анализа, которые могут быть выполнены на уровне исходного кода.
Часто минутный прогон программы позволяет сэкономить час работы в отладчике в поисках бага.
Некоторые проверки, которые поддерживаются:
- Автоматическая проверка переменных
- Проверка границ массива (диагностируются выходы за границы массивов)
- Проверки классов (например, неиспользуемые функции, использование неинициализированных переменных и дублирование памяти).
- Проверка использования устаревшей или замененной функции в соответствии с Open Group
- Проверка исключения безопасности, например, использование памяти и проверка деструктора
- Проверка утечки памяти (например из-за потери области без освобождения)
- Проверка утечки ресурсов (например, забыли закрыть файл-обработчик)
- Недопустимое использования функций и идиом Standard Template Library (Стандартной Библиотеки Шаблонов)
- Различные стилистические и ошибки производительности
Мы рекомендуем вам включать столько предупреждений, насколько это возможно в вашем компиляторе.
* Если вы используете Visual C++: вы должны использовать уровень предупреждений 4.
* Если вы используете GCC: посмотрите на варианты предупреждений, используемых GCC
* Если вы используете другой компилятор: посмотрите в его руководстве.
Поддерживаемые платформы:
* Вы можете проверить и нестандартный код, который включает в себя различные компиляторы расширений, inline-ассемблера, и т.д.
* Cppcheck может быть скомпилирована с любым компилятором C++, который обеспечивает последние стандарты C++.
* Cppcheck должна работать на любой платформе, которая имеет достаточных процессора и памяти.
02.02.2016. Был выпущен Cppcheck 1,72:
Общие изменения:
- Добавлены платформы файлов для настройки характеристик различных целевых платформ
- Добавлена настройка по умолчанию знака неотъемлемой переменной и размера бит типа «char»
- Добавлена опция -E (обрабатывать только код)
-Опция --dump теперь выводит данные для каждой конфигурации, а не только последний
- Файлы нескольких qmake проектов были удалены
Удалены проверки:
- Удалены ненужные упреждающее объявления проверки
Новые проверки:
- Предупреждать о сдвиге отрицательных значений
- Обнаружения оператора с неопределенным порядком исполнения (код pre-C++11)
- Добавлена общая проверка препятствий использования конкретных функций, заменив CheckNonReentrantFunctions и CheckObsoleteFunctions
Улучшены проверки:
- Несколько улучшений анализа ValueFlow
- Улучшена обработка ValueType, рефакторинг нескольких проверок, чтобы использовать его
- Улучшения проверки утечки памяти
- Улучшен контейнер спецификации в файлах библиотек, переписаны некоторые проверки на его основе
- Улучшена обработка символьных литералов
- Улучшена проверка не блокированых доступов
- Должным образом поддерживать типы -cstdint- в пространстве имен std
- Добавлены проверки некоторых механизмов, чтобы избежать аварий
Интерфейс:
- Улучшен редактор библиотек
- Поддержка клавиши «Enter» в дереве результатов
- Правильное определение редакторов на 64-разрядных версиях Windows
- Добавлен японский перевод
- Возможность открытия файла проекта без дополнительных параметров из командной строки
Update: Feb 02, 2016
Platforms: Windows XP/Vista/7/8/10
Multilingual user interface (English, Russian, etc)
Licence: Free / Open Source (GPL)
Developer: Daniel Marjamaki and PortableApps.com
Size: 6.31 Mb