﻿# Возможные проблемы с stdafx\.h при использовании PVS\-Studio

Иногда при проверке кода приложений с помощью 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, хотя при компиляции кода этих проблем нет, сделайте следующее\.

1. Убедитесь, что весь код корректно компилируется \(полностью\)\. Для этого используйте команду "Rebuild Solution"\.
1. Отключите для проекта "precompiled headers"\. Если файлы проекта организованы корректно, то проект все равно должен компилироваться\. В случае ошибок компиляции без "precompiled headers" исправьте эти ошибки\.
1. Включите обратно "precompiled headers"\.
1. Проект готов к проверке с помощью PVS\-Studio\.

Следует заметить, что подобные действия нужны только в том случае, если при проверке кода с помощью PVS\-Studio возникают ошибки с файлом stdafx\.h\. Если же файлы проекта организованны корректно, то PVS\-Studio прекрасно сможет работать с "precompiled headers"\.