Иногда при проверке кода приложений с помощью PVS-Studio могут возникнуть проблемы с файлом stdafx.h, который представляет собой часть механизма "precompiled headers". Например, PVS-Studio может сообщать, что этот файл не найден. Или при наличии нескольких файлов stdafx.h будет использоваться не тот файл, который должен. При этом компиляция в Visual C++ проходит нормально.
Такая ситуация не является ошибкой с точки зрения PVS-Studio. Дело в том, что stdafx.h обрабатывается Visual C++ специальным образом. И на него иногда распространяются некоторые исключения из правил обработки заголовочных файлов. Проще говоря, Visual C++ обрабатывает файл stdafx.h не так, как все другие заголовочные файлы.
Подобной специальной обработки stdafx.h в анализаторе PVS-Studio (как и во многих других подобных инструментах) нет. Поэтому при проверке кода с помощью PVS-Studio иногда и могут возникать ошибки с stdafx.h.
Для того чтобы ошибок не возникало, нужно чтобы файл stdafx.h обрабатывался также, как и все другие заголовочные файлы. Отключать "precompiled headers" для этого не надо. Однако отключение "precompiled headers" может помочь обнаружить ошибки в организации файлов проекта.
Итак, если при проверке кода с помощью PVS-Studio у вас появляются проблемы с файлом stdafx.h, хотя при компиляции кода этих проблем нет, сделайте следующее.
Следует заметить, что подобные действия нужны только в том случае, если при проверке кода с помощью PVS-Studio возникают ошибки с файлом stdafx.h. Если же файлы проекта организованны корректно, то PVS-Studio прекрасно сможет работать с "precompiled headers".
0