Анализаторы c/c++ кода, сравнительный анализ
Re: Анализаторы c/c++ кода, сравнительный анализ
Из указанных анализаторов только Cppcheck бесплатный.
Скачал здесь: http://cppcheck.sourceforge.net/
Скормил ему сервер, судя по скорости, результаты будут к вечеру, но уже поймано с полдесятка конструкторов без инициализации полей класса.
...
Количество просканированных файлов: 246
Продолжительность сканирования: 17 часов и 50 минут
Скачал здесь: http://cppcheck.sourceforge.net/
Скормил ему сервер, судя по скорости, результаты будут к вечеру, но уже поймано с полдесятка конструкторов без инициализации полей класса.
...
Количество просканированных файлов: 246
Продолжительность сканирования: 17 часов и 50 минут
Re: Анализаторы c/c++ кода, сравнительный анализ
PVS-Studio можно месяц эксплуатировать (evalute), после требует обязательной регистрации.
На их сайте есть ключ на 5 дней, при котором работает проверка на 64-бит ошибки.
Запускал, время работы 25 минут:
ошибка одна
V004 Diagnostics from the 64-bit rule set are not entirely accurate without the appropriate 64-bit compiler. Consider utilizing 64-bit compiler if possible.
замечаний:
1 уровня 2026 (важные)
2 уровня 3109 (не очень важные)
3 уровня 3789 (совсем не важные)
, но много повторяющихся. Например,
снижение произволительности при вызовах константной процедуры Class->getSubclass()->.. подряд,
много сообщений про memsize type/ 32-bit type/вызове функций с аргументами memsize type
много сообщений про магические числа, особенно про 4, маски для AND =)
P.S. примеры расшифровки замечаний можно глянуть тут http://habrahabr.ru/company/pvs-studio/blog/97751/
На их сайте есть ключ на 5 дней, при котором работает проверка на 64-бит ошибки.
Запускал, время работы 25 минут:
ошибка одна
V004 Diagnostics from the 64-bit rule set are not entirely accurate without the appropriate 64-bit compiler. Consider utilizing 64-bit compiler if possible.
замечаний:
1 уровня 2026 (важные)
2 уровня 3109 (не очень важные)
3 уровня 3789 (совсем не важные)
, но много повторяющихся. Например,
снижение произволительности при вызовах константной процедуры Class->getSubclass()->.. подряд,
много сообщений про memsize type/ 32-bit type/вызове функций с аргументами memsize type
много сообщений про магические числа, особенно про 4, маски для AND =)
P.S. примеры расшифровки замечаний можно глянуть тут http://habrahabr.ru/company/pvs-studio/blog/97751/
Re: Анализаторы c/c++ кода, сравнительный анализ
В MVS 2013 есть встроенный статический анализатор кода =)
http://blogs.msdn.com/b/hkamel/archive/ ... d-how.aspx
http://blogs.msdn.com/b/hkamel/archive/ ... d-how.aspx
Re: Анализаторы c/c++ кода, сравнительный анализ
Кстати я пробовал в g++ врубить -std=c++11 -- сервер скомпилялся с легкостью. Так что если уж переползать на MVS 2013, то и последний стандарт врубать. Есть в нем пара-тройка полезностей новых.
Re: Анализаторы c/c++ кода, сравнительный анализ
1) MVS можно настроить на компиляцию сторонним компилером - настроив режим компиляции g++ проверять,
а как в нем компилится =)
2) Если всякие "умные" "слабые" указатели - то можно решить проблему NULL указателей раз и навсегда =)
3) Вот как надо писать хелпы, по ссылке - для c++11 http://habrahabr.ru/company/infopulse/blog/210644/
4) Шпаргалка по c++11 http://j.mp/cpp11ref
а как в нем компилится =)
2) Если всякие "умные" "слабые" указатели - то можно решить проблему NULL указателей раз и навсегда =)
3) Вот как надо писать хелпы, по ссылке - для c++11 http://habrahabr.ru/company/infopulse/blog/210644/
4) Шпаргалка по c++11 http://j.mp/cpp11ref