Я недавно переключился на Visual Studio 2010, и для Intellisense не требуется полминуты для отображения при использовании библиотек boost
, Предложение Microsoft , похоже, использует предварительно скомпилированные заголовки.
За исключениемчто я никогда не использовал их раньше (за исключением случаев, когда это было вызвано Ugly ATL Wizards (TM)), поэтому я искал, чтобы выяснить, как они работают.
В принципе, подход Big Centralized stdafx.h
кажется совершенно неправильным.Я никогда не хочу включать (даже дешево) целую кучу заголовочных файлов во все мои источники.Поскольку я не использую библиотеки Windows (я делаю обертки C ++ / CLI более высокого уровня, а затем использую .NET для общения с внешним миром), у меня нет «целой грузы неизменяемых огромных заголовков».Просто boost
и стандартные библиотечные заголовки разбросаны по всему.
Существует интересный подход к этой проблеме, но я не совсем понимаю, как заставить это работать.Кажется, что каждый исходный файл должен быть скомпилирован дважды (пожалуйста, исправьте меня, если я ошибаюсь): один раз с / Yc и один раз с / Yu.Это увеличивает нагрузку на разработчика, который должен вручную настроить систему сборки.
Я надеялся найти какой-то трюк "автоматически сгенерировать один предварительно скомпилированный заголовок для каждого исходного файла" или, по крайней мере, некоторые "лучшие практики", но большинстволюди, кажется, довольны включением мира в stdafx.h
.
Какие у меня есть варианты использования скомпилированных заголовков для каждого исходного файла? Меня не волнует сборкараз (пока они не взлетят), я просто хочу, чтобы intellisense работал fast .