boost
我最近切换到 Visual Studio 2010 并且 Intellisense 在使用库时不会花半分钟时间显示出来,微软的建议似乎是使用预编译的头文件。
除了我以前从未使用过它们(除非被 Ugly ATL Wizards (TM) 强迫使用),所以我四处寻找以弄清楚它们是如何工作的。
基本上,大中心stdafx.h
化方法似乎完全错误。我从不想在我的所有源代码中包含(甚至便宜)一大堆头文件。因为我不使用 Windows 库(我制作 C++/CLI 更高级别的包装器,然后使用 .NET 与外界对话),所以我没有“一大堆不变的巨大标题”。只是boost
和标准库头文件散落一地。
有一种有趣的方法可以解决这个问题,但我不太清楚如何完成这项工作。似乎每个源文件都必须编译两次(如果我错了请纠正我):一次使用 /Yc,一次使用 /Yu。这增加了必须手动调整构建系统的开发人员的负担。
我希望找到一些“为每个源文件自动生成一个预编译头”的技巧,或者至少是一些“最佳实践”,但大多数人似乎对将世界包含在stdafx.h
.
在每个源文件的基础上,我可以使用哪些选项来使用预编译的头文件?我并不真正关心构建时间(只要它们不飙升),我只希望智能感知能够快速工作。