好的,我有Mac和Windows的旧Metrowerks代码,以前的开发人员对这个代码库构建的每个项目都使用了预编译头文件。
从概念上讲,如何摆脱预编译头文件?
您是否获取.pch的内容并将其移动到core.h并将其包含在所有类的.h文件中?
我想转到使用CMAKE构建,虽然有一些hack可以使预编译头文件工作,但我认为最好是删除对它们的依赖。
有些人可能会说一些关于编译速度的事情,但我不是在比赛,我已经有了快速的设备,我更感兴趣的是如何摆脱预编译头文件。
发布于 2009-11-14 15:55:15
如何从概念上摆脱预编译头文件?
预编译头文件是一种优化。从概念上讲,您可以通过简单地使用常规标头来去除预编译头。
您是否将.pch的内容移动到core.h,并将其包含在所有类的.h文件中?
我认识的程序员就是这样做的。就我个人而言,我更喜欢知道我正在使用哪些函数以及它们来自哪里,所以我确保每个文件#includes编译该文件所需的所有头文件(并且只包含编译该文件所需的头文件)。然后,这确实需要不断地检查是否不再需要头部。
发布于 2011-06-06 22:32:51
经历过..。在一个C++项目中,每个翻译单元都包含一个中心头,反过来几乎每个Boost头都包含在内。在支持PCH的平台上很不错,但我们正在编译一些不支持PCH的平台,而且它们需要很长时间。(您的core.h方法也是如此。不要这样做,尤其是在使用C++时。)
所以,这里就是:
是的,这就是暴力手段。不幸的是,我不知道更好的方法。
https://stackoverflow.com/questions/1732933
复制相似问题