Почему я должен #include "stdafx.h" в приложениях Microsoft Visual Studio C++?
Если я использую обычный текстовый редактор или Code::Blocks, эта проблема не возникает. но в Visual Studio я должен включить заголовочный файл stdafx.h, чтобы скомпилировать программу без ошибок. Я хочу знать, для чего нужен этот заголовочный файл и почему его используют в visual studio. Я использую Visual Studio Enterprise (2015).
1 ответ
StdAfx.h - это имя файла по умолчанию, используемое для создания предварительно скомпилированного заголовка (см. " Создание предварительно скомпилированных файлов заголовка") при создании стандартного проекта с помощью мастера создания проектов Visual Studio. Предварительно скомпилированные заголовки могут значительно сократить время компиляции проекта, создав дамп двоичного представления проанализированных и предварительно скомпилированных заголовков. Обычно в предварительно скомпилированные заголовки следует включать только редко меняющиеся заголовки (заголовки Windows SDK, заголовки стандартной библиотеки C++, заголовки CRT и т. Д.).
Использование предварительно скомпилированных заголовков контролируется переключателем компилятора /Y (Precompiled Headers). Если вы не хотите использовать предварительно скомпилированные заголовки, убедитесь, что ни /Yc (Создать предварительно скомпилированный файл заголовка ), ни /Yu (Использовать предварительно скомпилированный файл заголовка ) не установлены в настройках вашего проекта.
Если вы хотите использовать предварительно скомпилированные заголовки, но не хотите (или не можете) включать предварительно скомпилированный заголовочный файл в качестве первого включения во все модули компиляции, вы можете вместо этого использовать переключатель компилятора /FI (Name Forced Include File).