🫡 Компилятор говорит, анализатор слушает
Если обратить внимание на количество постов в уже наступившем 2026 году, можно понять, что трудовой год начался достаточно интересно :). Сегодня закрою свой долг с прошлого года и расскажу про одну интересность, которая вышла в конце 2025-го.
C++ - довольно интересный язык. И интересность его заключается не только непосредственно в языковых возможностях, а ещё и в инфраструктуре вокруг кода, на нём написанного.
Если попросить C++ разработчика назвать известные ему компиляторы, то в принципе, можно уже заваривать чай, это, скорее всего, надолго. И вполне себе частая история, когда в том или ином проекте на C++ появляется целый "зоопарк" из различных инструментов, используемых для сборки программного обеспечения.
Собственно, такая ситуация создаёт проблемы, как минимум, для "свежих" разработчиков, которые не погружены во все подробности сборочной инфраструктуры - скорее всего случится так, что придётся погружаться во всё это многообразие скриптов сборки. А ещё часто бывает, что человек, затянувший в продакшн какой-то инструмент, уже "давно тут не работает" или что-то подобное, из-за чего разобраться будет ещё сложнее.
А теперь представим, что этому самому абстрактному "свежему" разработчику доверено интегрировать статический анализ для всего существующего кода. Как заставить анализатор работать со всем этим зоопарком сборочных инструментов?
В нашем анализаторе на такой случай существует мониторинг компиляции, который позволяет проанализировать проект, отслеживая вызовы компиляторов. В таком случае тому самому разработчику будет сильно проще всё это дело интегрировать.
Собственно, о том, как этот самый мониторинг компиляции в PVS-Studio работает я и написал в своей статье. Там же есть, кстати, и описание новой фичи - использования мониторинга компиляции на Windows из плагина для IDE Visual Studio Code.
🎤 feelin
Post #197
64