gcc C 编译器是用 C 本身编写的吗?还是用 Assembly 写的?如果编译器是用C写的,那么用什么编译器来编译编译代码?
最佳答案
gcc 的具体历史在 GCC Wiki 中给出。 .更一般的一点是,编译器通常最初是用其他一些编译器编译的,直到它们强大到足以编译自己。或者,可以编写一个基本的编译器来处理汇编器中的部分功能,并从那里构建。但同样,这几乎不再需要了。有很多可用的编译器,支持多种语言。即使在 Stephen Johnson 编写 pcc(最早的 C 编译器之一)时,也有适用于 B 的编译器以及许多其他语言。 gcc 最初有几个编译器可供选择来构建它,RMS 说他至少在最初的开发过程中使用了 Pastel 编译器。
请记住,不要求 C 编译器必须用 C 编写。如果您愿意,可以用 Perl 编写。不要求给定平台的编译器最初是在该平台上编写的(嵌入式系统几乎总是在其他系统上编译)。因此,有很多方法可以让您自力更生。
这个问题有一些与引导编译器的第一个实例相关的有趣的微妙之处。如果你很聪明,你可以利用那个 Bootstrap 来做 something incredible, brilliant and terrifying .
关于c - gcc C 编译器是用 C 本身编写的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5657454/