我的代码组织为
//LARGEHEADER.H
class LARGE {
...
}
//SMALLER.H
#include "LARGEHEADER.H"
class SMALL: protected LARGE {
...
}
//and in each of A.C, B.C, C.C ...
#include "SMALLER.H"
void f() {
...
}
现在 LARGEHEADER.H 大约为 10 MB。在尝试编译此设置时,它似乎占用了大量时间和内存,我的最终可执行文件接近 90 MB。请指出我做错了什么。如何使用此设置加快编译速度。
最佳答案
感谢您提出预编译头的解决方案。预编译头是一种优化策略,没有解决问题的根本原因,即编码风格。引用这篇文章
Why does C++ compilation take so long?
在多个源文件/头文件中包含一个大头文件将导致编译失败(为每个包含程序生成调试/符号信息)。我重新组织了代码以删除此类依赖项。
关于c++ - 编译大型头文件 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33813778/