有一个术语 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/