gcc - LLVM/Clang 是由 GCC 引导/编译的吗?

标签 gcc compiler-construction clang llvm

有一个术语 compiler bootstrapping这从根本上意味着用旧的编译器编译新的编译器。例如,即使是GCC,也是首先由GCC的一小部分进行编译,so forth .

所以,问题是 LLVM/Clang 是由 GCC 之类的另一个编译器引导/编译的还是从头开始编写的,如果的话,基本上是如何编写的?我可以直观地在 LLVM 库中看到一些 GCC 的痕迹,但我找不到相关的确切信息。

最佳答案

没有。 LLVM 可以使用大量编译器中的任何一个进行编译。当我关心这些事情时,有几十个独立的编译器。 (请记住,只有正确性才重要 - 您甚至可以使用最慢的编译器进行引导,它会产生最慢的输出并且诊断结果很差。)

这个传说是有根据的:在许多系统上,LLVM 向 GCC 询问如何调用系统链接器,这可能很繁琐。

关于gcc - LLVM/Clang 是由 GCC 引导/编译的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68217446/

相关文章:

Objective-C 属性赋值返回赋值?

c - 枚举值解析

c - 在 macOS 上找不到 Homebrew 的 LLVM "fatal error: ' stdio.h' 文件

c - 标识符未在 c 中加载

c++ - 如何为cpp程序构建可执行文件

build - go条件编译问题

c++ - 如果语句包含宏,则 clang 无法替换语句

c - 为什么在执行 C 程序时出现错误,显示终端中没有此类目录?

c++ - 实现在模板参数中定义的类型

Clang AST 转储不显示#defines