由于我在一台服务器上编译 C++ 代码(总共 32 或 64 个核心),有没有办法调整编译器选项来加快编译时间?例如。告诉编译器使用多线程编译独立的.cpp文件。
这取决于您使用的工具链。
如果您使用的是 GNU Make,则将
-j 32
添加到您的 make 调用中,以告诉 Make 并行启动 32 个作业(例如)。 只要确保您没有耗尽 RAM 并因此破坏交换文件即可。
使用像 Boost JAM 这样的东西,它可以为你做这种多线程处理——根据我的经验,它比多线程 make 效率更高。
Sun 的 C++ 编译器还有一个
-xjobs
选项,使编译器在内部分叉多个线程。 为了提高效率,您可能必须将所有 .cc 文件传递给 CC 的单次调用。