我最近切换到了Visual Studio 2010,并且为了使Intellisense在使用boost库时不会花费半分钟的时间显示,Microsoft's suggestion似乎使用了预编译的头。

除了我以前从未使用过它们(除非被Ugly ATL Wizards(TM)强制使用),所以我四处搜寻以了解它们的工作原理。

基本上,Big Centralized stdafx.h方法似乎是错误的。我从不希望在我的所有源代码中包含(甚至便宜)一堆头文件。由于我不使用Windows库(我使C++/CLI成为高级包装程序,然后使用.NET与外界交谈),因此我没有“一堆不变的巨大头文件”。只是boost和标准库 header 分散在周围。

这个问题有an interesting approach,但是我还不太清楚如何使它工作。似乎每个源文件必须编译两次(如果我错了,请纠正我):一次使用/Yc,一次使用/Yu。这给必须手动调整构建系统的开发人员增加了负担。

我希望找到一些“为每个源文件自动生成一个预编译的头文件”的技巧,或者至少找到一些“最佳实践”,但是大多数人似乎很乐意将世界包含在stdafx.h中。

我可以使用哪些选项来基于每个源文件使用预编译的 header ? 我并不真正在乎构建时间(只要它们不会飞涨),我只想让intellisense能够工作快速

最佳答案

您的问题基本上似乎是VS2010中Boost的Intellisense速度慢吗?我没有直接解决此问题的方法,但是Visual Assist X是否可以为您选择?我现在非常高兴地在各种版本的Visual Studio中使用了它。这不是直接的解决方案,但它可能对您有用。

09-26 20:06
查看更多