c - 为什么 GCC 不支持多线程编译?
问题描述
AFAIK,C 编译阶段的某些部分可以是多线程的。
例如,至少预处理和解析(创建 AST)仅与其源文件本身相关,因此每个文件都可以并行化。
GCC没有多线程编译选项有什么原因吗?
解决方案
如果您使用并设置了适当的构建系统,您可以并行构建 C/C++,它会为您处理这个问题。
基本上在 C/C++ 中,每个 .c/.cpp 文件都被编译为一个 .o 文件。然后将所有这些 .o 文件链接到生成的二进制文件。
可以使用构建系统(例如 make)来并行构建所有 .o 文件。
推荐阅读
- reactjs - 有没有办法使用本地文件离线运行 create-react-app ?
- html - 放大和缩小时如何修复页面及其元素的大小
- r - 使用 Levelplot 在 R 中显示风向相对于风的大小
- python - 如何在 Python 中使用 Youtube API 在频道中创建广播?
- unix - 文本处理忽略下划线的第二次出现
- python - 如何在找到第一个所需字符并复制其余文本后停止搜索?
- c# - BenchmarkDotNet - 如何在类之外注入参数
- elixir - Access.get/3 中没有函数子句匹配 - 为什么会出现此错误?
- r - 不同大小的亚组内的随机化
- python - Python记录器异常文件