首页 > 解决方案 > 为什么 GCC 不支持多线程编译?

问题描述

AFAIK,C 编译阶段的某些部分可以是多线程的。

例如,至少预处理和解析(创建 AST)仅与其源文件本身相关,因此每个文件都可以并行化。

GCC没有多线程编译选项有什么原因吗?

标签: cmultithreadinggccmakefilecompilation

解决方案


如果您使用并设置了适当的构建系统,您可以并行构建 C/C++,它会为您处理这个问题。

基本上在 C/C++ 中,每个 .c/.cpp 文件都被编译为一个 .o 文件。然后将所有这些 .o 文件链接到生成的二进制文件。

可以使用构建系统(例如 make)来并行构建所有 .o 文件。


推荐阅读