Какова цель файла stdafx.h и что подразумевается под предварительно скомпилированными заголовками?
Он обычно используется для имени предварительно скомпилированных заголовков. Хотя использование этого точного имени не требуется, просто по умолчанию. Я объясню больше о предварительно скомпилированных заголовках на VC ++ и g ++ здесь.
Вы используете предварительно скомпилированные заголовки для более быстрой компиляции.
Идея состоит в том, что вы помещаете любой заголовочный файл, который не изменится, и что вы используете в нескольких исходных файлах внутри вашего предварительно скомпилированного заголовка. Тогда компилятору не потребуется перерабатывать эти заголовки для каждого блока компиляции.
Чтобы расширить другие отличные ответы:
stdafx.h - это файл, который включает в себя все широко используемые заголовки для одного проекта. Например, это относится ко всем определениям Windows. Поскольку этот файл включает в себя столько материала, компилятор становится немного медленным при его обработке. Предварительно скомпилировав его, компилятор может пропустить большую часть обработки и повторно использовать его снова и снова; до тех пор, пока ни один из файлов, включенных в него, не изменится, прекомпилированный результат не нуждается в изменении.
Имя stdafx.h является просто конвенцией. Вы можете легко переименовать его в другое, если вы изменили все свои источники, чтобы вместо этого добавить новый файл.
Чтобы создать фактический предварительно скомпилированный файл заголовка, вам нужен один исходный файл в проекте с специальными флагами компиляции производить предварительно скомпилированный выход. По соглашению этот файл называется stdafx.cpp, и если вы проверите настройки этого исходного файла, вы увидите, как он отличается.
Это предварительно скомпилированный заголовок, чтобы сократить время компиляции.