GCC为什么需要编译两次才能完成自举

原文约2000字,阅读约需5分钟。发表于:

多年前安装LFS这个Linux发行版时候,GCC都需要进行多次编译进行自举,当时并为对其中的原因进行深入探索,再次看到LFS中的文档说明,就将其记录下来。More…

本文介绍了编译器自举的概念和步骤,以及GCC为什么需要进行两次编译的原因。自举可以通过吃自己的狗粮的方式对正在编译的语言进行测试,同时可以在当前编译的高级编程语言上进行编译器的开发。GCC需要进行两次编译是因为它包含了很多辅助的工具和库,需要先编译出一个降级的libgcc和交叉编译器cc1,然后再进行二次构建才能得到功能完整的libstdc++。

GCC为什么需要编译两次才能完成自举
相关推荐 去reddit讨论