Visual Studio 2010, Intellisense и PCH: каковы альтернативы уродливому stdafx.h?

Я недавно перешел на Visual Studio 2010, и для Intellisense не требуется полминуты, чтобы появиться при использовании библиотек boost , предложение Microsoft , похоже, использует предварительно скомпилированные заголовки.

За исключением того, что я никогда раньше ими не пользовался (кроме случаев, когда это требовал Ugly ATL Wizards (TM)), поэтому я поискал повсюду, чтобы выяснить, как они работают.

По сути, Big Centralized stdafx.h подход кажется совершенно неправильным. Я никогда не хочу включать (даже дешево) целую кучу файлов заголовков во все мои источники. Поскольку я не использую библиотеки Windows (я делаю оболочки более высокого уровня C ++ / CLI, а затем использую .NET для общения с внешним миром), у меня нет «целого грузовика неизменяемых огромных заголовков». Просто boost и разбросаны заголовки стандартной библиотеки.

Существует интересный подход к этой проблеме, но я не могу понять, как заставить это работать. Кажется, что каждый исходный файл нужно компилировать дважды (поправьте меня, если я ошибаюсь): один раз с / Yc и один раз с / Yu. Это увеличивает нагрузку на разработчика, который должен вручную настраивать систему сборки.

Я надеялся найти уловку «автоматически генерировать один предварительно скомпилированный заголовок для каждого исходного файла» или, по крайней мере, некоторые «лучшие практики», но большинство людей кажутся счастливыми с включением мира в stdafx.h .

Какие варианты доступны мне для использования предварительно скомпилированных заголовков для каждого исходного файла? Меня действительно не волнует время сборки (поскольку пока они не взлетят до небес), я просто хочу, чтобы intellisense работал быстро .

18
задан Alexandre C. 8 May 2011 в 17:32
поделиться