Если я помещу заголовок (ах) в stdafx.h, и этот заголовок включает в себя еще один заголовок (бх), который не упомянут в stdafx.h, он будет посещаться каждый раз, когда кто-то включает ах, или он будет скомпилирован как часть ах? Если он скомпилирован в a.h, что произойдет, если кто-то напрямую включит b.h? Это будет предварительно скомпилировано или нет?
Моя мотивация задать этот вопрос заключается в том, что я пытаюсь оптимизировать содержимое файлов stdafx.h для программного обеспечения, над которым я работаю. Для нас важны как периоды перестроения, так и время наращивания. Мне было интересно, смогу ли я просто найти во всех файлах .cpp директивы #include и посчитать, сколько раз каждый файл включен. Часто включаемые файлы могут быть хорошими кандидатами для файла stdafx.h. Конечно, эта стратегия является полностью фиктивной, если я должен учитывать не только, какие файлы включены, но также и какие файлы включают включенные файлы.
Я сомневаюсь, что это имеет значение, но мы используем Visual Studio 2005.