现在几乎每个用户在台式机(以及大量笔记本电脑)上都有 2 或 4 个内核。高级用户拥有 6-12 个内核的 amd 或 i7。
哪些 x86/x86_64 C/C++ 编译器可以使用多个线程进行编译?
已经有类似'make -j N'
的解决方案,但有时(对于-fwhole-program
或-ipo
)最后一步又大又慢,它是按顺序开始的。
这些是否可以:GCC、Intel C++ 编译器、Borland C++ 编译器、Open64、LLVM/GCC、LLVM/Clang、Sun 编译器、MSVC、OpenWatcom、Pathscale、PGI、TenDRA、Digital Mars?
对于多线程的编译器,线程数是否有更高的限制?
谢谢!
最佳答案
Gcc 有 -flto=n
或 -flto=jobserver
使链接步骤(使用 LTO 进行优化和代码生成)并行进行。根据文档,这些从 4.6 版开始就可用,尽管我不确定它在那些早期版本中有多好。
关于c++ - 哪些 x86 C++ 编译器本身是多线程的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4430001/