Как стать автором
Обновить

Комментарии 34

Совет, добавьте возможность комментирования к статьям на английском.
Отлично! Спасибо за вашу работу! Как всегда познавательно.
Здорово, что синтаксический анализ полезен даже таким крупным проектам, как Qt. Надеюсь, они приобретут у вас лицензию =)

В опечатке №5 у вас опечатка всё в порядке, уже исправили.
Два комментария и ни одного популярного вопроса? Нужно исправлять.

А вы сообщили разработчикам? А патч отправили? А есть версия PVS-Studio и CppCat под Linux? А когда будет?
Значит Andrey2008 хорошо делает свое дело — об этом анализаторе уже весь Хабр знает. И хабраюзеры глупых вопросов уже не задают.
Я не против — прекрасные посты. Но и вопросы эти — почти как традиция, постоянно всплывают. =)
НЛО прилетело и опубликовало эту надпись здесь
Тонко!
и еще: а сам PVS-Studio проверяли с помощью PVS-Studio? :)
Это был вопрос из цикла стандартных вопросов про PVS-Studio.
Это был ответ из цикла стандартных ответов на вопрос из цикла стандартных вопросов про PVS-Studio.
Подозрение на лишний оператор 'break'

Мне кажется, что там вместо while должен быть if, иначе без break получится, что одной и той же переменной d->namespaceId будет просто много раз подряд присвоено значение. Тогда можно было бы просто взять последнее.
Стандартное нытьё про чек проекта freeswitch Please!
«Забыли про миллисекунды. Микросекунды хранятся в переменной 'm_mseconds'.» всё же милли или микро?
Поправил. Навереное, миллисекунды. Хотя, не знаю конечно.
Сам на С++ не пишу, но всегда с удовольствием читаю статьи с проверками проектов PVS студией.
Автоперехват вызовов компилятора — волшебная фича. Скажите, а зачем там нужно выбирать между win32 и x64? Почему нельзя автоматически определить используемую архитектуру? Что будет, если выбрать неправильную? Еще немного раздражает, что выбор не запоминается и нужно при каждом запуске переключать на x64 вручную.

Еще было бы неплохо сделать возможность постоянного мониторинга вызовов. Сейчас приходится перед каждой сборкой запускать мониторинг, а потом его вручную завершать и ждать результатов. Если бы мониторинг и анализ велся постоянно, то можно было бы просто держать его в фоне, чтобы при возникновении ошибки он тут же о ней сообщил. Прогресс-бар в углу экрана тоже хотелось бы отключить.
> а зачем там нужно выбирать между win32 и x64?

Не всегда автоматом можно понять, компилируем ли мы 32-битный код или 64-битный. А такая подсказка решает эту проблему.
> Сейчас приходится перед каждой сборкой запускать мониторинг, а потом его вручную завершать и ждать результатов.

Не понятен сценарий использования. Поясните, пожалуйста, как Вы делаете и зачем.
Мне нужно проверить проект. Я запускаю Standalone-версию, запускаю compiler monitoring. Иду в свою IDE, пересобираю проект. Иду в Standalone, останавливаю мониторинг, потом файлы анализируются и выдается результат. Теперь я что-то меняю в проекте и хочу проверить изменения. Я снова запускаю compiler monitoring, иду в IDE, собираю проект (компилируются только измененные файлы), иду в Standalone, останавливаю мониторинг, потом файлы анализируются и выдается результат.
А что за IDE?
Qt Creator.
Для регулярного использования отслеживания можно воспользоваться command-line версией.

Целевую платформу сборки не получится достоверно автоматически определить в случае, например, использования кросс-компилятора.
while (i < dataLen && ((ch = data.at(i) != '\n') && ch != '\r'))

Забавно, что расставили все возможные ненужные скобки, а единственные нужные пропустили. :))
У меня в почте эти интересующиеся спрашивают, купили ли уже у нас лицензию из Qt. А я стыдливо пока ничего не отвечаю, и все жду…
Это не ко мне, я не работаю в Digia.
Понял, что ошибки уже другие люди исправляют и я ничем не помогу, мдя :/
Не отчаивайтесь, открытым проектам всегда нужны мозги. Посмотрите в трекере Qt простые баги, попытайтесь их решить. Или проверьте проект бесплатным анализатором, тем же cppcheck. Авось что-нибудь да найдётся. Даже если нет, можно будет написать статью с результатами анализа. Спасибо вам точно скажут.
Да я в принципе с определенной частотой в дерево Qt отсылаю патчи, некоторые даже принимают время-от-времени. По сабжу, только что исправил баг с приоритетом действий
Зарегистрируйтесь на Хабре, чтобы оставить комментарий