c++ - 哪些 x86 C++ 编译器本身是多线程的?

标签 c++ multithreading compiler-construction

现在几乎每个用户在台式机(以及大量笔记本电脑)上都有 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/

相关文章:

c++ - C++ 类声明中的 CP_EXPORT

C++ 操纵器

c# - 线程已退出,Windows 窗体中的代码为 0

对象的 C++ memcpy 拷贝出现损坏

c++ - 与编译器相比,为什么调试器在发生错误时更加具体?

java - 干净的内部类实现 Runnable

c++ - 为什么派生类必须重新定义重写的基类方法

c++ - 在构造函数中成员初始化之前做必要的工作

c++ - 将流操作符 >> 移动到下一个位置

c# - Razor View 竞争条件