Этот вопрос уже имеет ответ здесь:
Какова цель файла stdafx.h
и что предназначено предварительно скомпилированными заголовками?
stdafx.h
- это файл, создаваемый мастерами Microsoft Visual Studio IDE, который описывает как стандартные системные и специфические для проекта включаемые файлы которые часто используются, но практически не часто используются, но почти не изменяются. Совместимые компиляторы (например, Visual C++ 6.0 и новее) предварительно компилировать этот файл, чтобы уменьшить общее время компиляции.Visual C++ не будет не компилировать ничего перед
#include "stdafx.h"
в исходном файле, если только не будет использована опция компиляции/Yu'stdafx.h'
не отмечена (по по умолчанию); при этом предполагается, что весь код в до этой строки включительно уже скомпилирован.
Обычно оно используется для названия предварительно скомпилированных заголовков. Хотя использование именно этого имени не обязательно, оно просто используется по умолчанию. Более подробно о прекомпилированных заголовках на VC++ и g++ я рассказываю здесь.
Вы используете прекомпилированные заголовки для более быстрой компиляции.
Идея заключается в том, что вы помещаете любой заголовочный файл, который не будет меняться и который вы используете в нескольких исходных файлах, внутрь вашего прекомпилированного заголовка. Тогда компилятору не нужно будет обрабатывать эти заголовки для каждой единицы компиляции.
Чтобы расширить другие отличные ответы:
stdafx.h
- это файл, который включает все часто используемые заголовки для одного проекта. Это может включать, например, все определения Windows. Поскольку этот файл включает в себя так много всего, компилятор немного тормозит при его обработке. Путем предварительной компиляции компилятор может пропустить большую часть обработки и повторно использовать ее снова и снова; пока ни один из файлов, включенных в него, не изменится, предварительно скомпилированный результат также не нужно изменять.
Имя stdafx.h
является условным. Вы можете легко переименовать его во что-нибудь другое, если вы измените все свои источники, чтобы вместо этого включить новый файл.
Для создания фактического предварительно скомпилированного файла заголовка вам понадобится один исходный файл в проекте, который имеет специальные флаги компиляции для создания предварительно скомпилированного вывода. По соглашению этот файл называется stdafx.cpp
, и если вы проверите настройки для этого исходного файла, вы увидите, чем он отличается.
Это предварительно скомпилированный заголовок , чтобы сократить время компиляции.