Реальные приложения могут иметь множество проектов в одном салюшине в Visual Studio. Эти проекты могут содержать сотни файлов исходного кода и это несомненно скажется на времени компиляции. Существует способ значительно ускорить компиляцию создав Precompiled файл.
Представьте, что у вас есть множество классов, каждый из которых имеет свои .h и .cpp файлы. При этом если несколько классов подключают один и тот же, то он будет компилироваться множество раз. Идея Precompiled файлов заключается в том, чтобы компилировать наиболее часто используемые модули всего один раз. Это значительно ускоряет процесс компиляции программы.
Давайте настроим проект в Visual Studio таким образом, чтобы использовать Precompiled файл. Для начала нужно создать два файла
1
2
3
4
5
6
7
8
9
10
11
12
// создаем два файла
Precompiled.h
Precompiled.cpp
//Precompiled.h - этот файл должен содержать include для всех файлов, которые могут понадобится в этом модуле.
#include "class1.h"
#include "class2.h"
...
//Precompiled.cpp - должен содержать только одну строчку.
#include "Precompiled.h"
Поскольку Precompiled файл базовый, он должен быть включен во все .cpp файлы кода первым. Т.е. первой должна быть строчка
1
#include "Precompiled.h".
Настройка проекта
Теперь перейдем к настройке проекта. Откройте свойства проекта, выберите в параметрах Use Precompiled Header (/Yu) и укажите Precompiled.h как базовый файл.
Теперь откройте свойства файла Precompiled.cpp и укажите Create Precompiled Header (/Yc). Именно этим вы говорите, что результат компиляции данного файла будет использоваться для создания .pch файла.
И в заключение убедитесь, что остальные файлы будут использовать созданных .pch файл. В их свойствах будет стоять Use Precompiled Header (/Yu).
Данная методика очень полезна при настройке больших проектов. Она значительно ускорит компиляцию. Если в салюшине несколько проектов, то каждый из них должен содержать свой Precompiled файл.