首先,我想说的是,我阅读了有关预编译头文件的信息,并且我了解这是一种优化,它节省了我在每次编译时都反复编译头文件的时间。
我正在阅读boost的文档,并且在说明中看到它们说:
在“配置属性”>“ C / C ++”>“预编译头”中,将“使用预编译头(/ Yu)”更改为“不使用预编译头”。
然后他们解释:
将Boost与预编译的标头一起使用没有问题;这些说明仅避免使用预编译的标头,因为它要求对示例中使用的源代码进行特定于Visual Studio的更改。
本来是评论,但我也可以发表。注意:这特定于VC ++:
粗体的一句话是他们说样本不遵循统一使用的方法,即这种领先的PCH生成模型的口头禅。IOW,他们的示例不是PCH友好的,但是如果配置正确,您仍然可以在项目中使用带有增强功能的pch。
您可能出于多种原因将其关闭。一些源模块,特别是来自第三方的模块,并不遵循PCH模型,即一开始就包含“ pch-through-header”。他们的样本就是这样的代码(因此建议关闭它们以获取样本)。有时,源文件仅对此文件需要不同的预处理器配置,而并非项目中的所有文件都需要。禁用这些文件的PCH的另一个原因。
通常使用一个源/报头对以产生“一”; 预编译的头文件映像。该头文件通常包括:
标记为“创建”的单个源文件通常包括一行代码:#include "YourHeaderFile.h"
,其中YourHeaderFile.h
您是上面列表中填充内容的标头。通过标头将其标记为“创建”将YourHeaderFile.h
告诉VC,它是在编译其他源文件时通过该标头重建PCH所需的文件。所有其他源文件都被标记为“使用”(关闭PCH的文件除外),并且应在它们的第一行代码中包含相同的#include "TheHeaderFile.h"
。
总之(难以置信),<boost>
告诉你他们的样品不一样设置如上所述,因此你应该把PCH关闭构建它们时。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句