eup*_*a83 81 c compiler-construction gcc
gcc C编译器是用C本身编写的吗?还是用大会写的?如果编译器是用C编写的,那么用于编译编译器代码的编译器是什么?
Rob*_*ier 91
gcc的特定历史记录在GCC Wiki上给出.更一般的一点是,编译器通常最初是用其他编译器编译的,直到它们足够强大以便自己编译.或者,可以编写一个基本编译器,它可以在汇编程序中处理您的功能的子集,并从那里进行构建.但同样,这几乎不再需要了.有许多可用的编译器,有多种语言版本.即使斯蒂芬约翰逊正在编写pcc(最早的C编译器之一),也有可用的B编译器以及许多其他语言.gcc最初选择了几个编译器来构建它,而RMS说他至少在初始开发期间使用了Pastel编译器.
请记住,不要求用C语言编写C编译器.如果你愿意,可以用Perl编写它.不要求最初在该平台上编写给定平台的编译器(嵌入式系统几乎总是在其他系统上编译).所以有很多方法可以让自己自我启动.
这个问题与引导编译器的第一个实例有一些有趣的微妙之处.如果你非常聪明,你可以利用那个引导来做一些令人难以置信的,辉煌的和可怕的事情.
Dan*_*ite 51
最初它是用一些汇编语言编写的,然后就开始自食了.