我尝试使用以下方式重用.pch来加速构建:
它在我的机器上成功,但在另一台机器上失败,收到错误消息:错误C2011:'***':'struct'类型重新定义
首先,我想问一下.pch文件是否对机器敏感?其次,上述方法是否可行?
谢谢!
答案 0 :(得分:3)
预编译头文件可以是特定于机器的,直到Visual Studio 2008 SP1(来自here):
预编译的头文件存储 编辑的“状态”到达 某一点,那个状态 信息可以重复使用 后续的编译器调用 显着增加构建 吞吐量。在过去的15年里,我们的 编译器已经预编译了 标题到磁盘并重新加载它们 直接进入虚拟内存 99.999%的可靠性和可观的性能提升。权衡, 然而,在一定程度上是脆弱的 我们的架构。
由于PCH文件本身包含 内部指针,必须加载 在虚拟的完全相同的地址 创建它的记忆。