我最近切换到Visual Studio 2010,为了让Intellisense在使用
但我以前从未使用过它们(除非被丑陋的ATL向导(TM)强制要求),所以我搜索了一下以弄清它们的工作原理。
基本上,集中式的
我希望找到一些"自动生成每个源文件的一个预编译头文件"的技巧,或者至少是一些"最佳实践",但大多数人似乎都喜欢将全局头文件包含在
boost
库时不要花费半分钟时间才能显示出来,Microsoft建议似乎是使用预编译头文件。但我以前从未使用过它们(除非被丑陋的ATL向导(TM)强制要求),所以我搜索了一下以弄清它们的工作原理。
基本上,集中式的
stdafx.h
方法似乎是错误的。我永远不想在所有源文件中包含(即使是便宜的)大量头文件。由于我不使用Windows库(我创建C++/CLI高级包装器,然后使用.NET与外界通信),我没有"一整车不变的巨大头文件"。只有boost
和标准库头文件分散在各处。
这个问题有一个有趣的解决方法,但我无法弄清楚如何使其工作。似乎每个源文件都必须编译两次(如果我错了,请纠正我):一次用/Yc和一次用/Yu。这会给开发人员增加负担,必须手动调整构建系统。我希望找到一些"自动生成每个源文件的一个预编译头文件"的技巧,或者至少是一些"最佳实践",但大多数人似乎都喜欢将全局头文件包含在
stdafx.h
中。
对我来说有哪些选项可以在每个源文件上使用预编译头文件?我并不真的关心构建时间(只要它们不飙升),我只想让Intellisense工作得快一点。