你是不是好奇,第一个C语言编译器是如何来的

小微 科技你是不是好奇,第一个C语言编译器是如何来的已关闭评论116字数 848阅读模式
摘要在编译型语言中,软件是由编译器编译而来的,编译器本身也是软件,那编译器又是怎么来的呢?咋一看这个问题,感觉又要掉入“鸡生蛋,蛋生鸡”这样无止尽的循环中了。下面以C语言编译器为例,介...

在编译型语言中,软件是由编译器编译而来的,编译器自身也是软件,那编译器又是如何来的呢?咋一看这个问题,感觉又要掉入“鸡生蛋,蛋生鸡”这样无止尽的循环中了。下面以C语言编译器为例,介绍下C编译器是什么来的。

C语言之父文章源自微观生活(93wg.com)微观生活-https://93wg.com/2751.html

C语言其实不是第一门编程语言,在它以前,已经有其他编程语言存在了,例如B语言、Fortran,汇编等。C语言的设计参考了B语言,历史上第一个C编译器是使用B语言编写的,乃至有多是由B+汇编混合编写。在这里咱们需要明确一点,C语言的发展其实不是一挥而就的,而是阅历了多年的完美以及修改才被推出(C语言出生于1969 - 1973年间,由贝尔试验室的汤普逊(Ken Thompson)以及里奇(Dennis Ritchie)二人共同发明,正式成型是在1973年。)。一样,C编译器也是经由逐次迭代更新才终究构成具备完全功能的C编译器。文章源自微观生活(93wg.com)微观生活-https://93wg.com/2751.html

C语言拥有自举特性,自举的意思是该语言的编译器可以编译出编译该语言的编译器。文章源自微观生活(93wg.com)微观生活-https://93wg.com/2751.html

是否有点绕?话说我自己都差点没读懂自己写的话[大笑]。说简单一点就是该语言不需要借助其他语言就能够编译出给自己用的编译器。然而,第一个编译器必需是通过其他语言编译出来的(先有鸡),有了初版编译器以后,才能实现编译器的自我迭代。在用B语言编译出第一个C编译器后,应用C语言的自举特性,就能够像滚雪球同样,由最初的一个只具备基本功能的C编译器不断迭代,开发出支撑更多特性的C编译器,并终究构成咱们现在使用的版本。如果你有兴致,可以在互联网上下载到最新的gnu C工具链源码并自行编译出gcc编译器。除了了初版C编译器之外,C编译器的源码早已经脱离了B语言,使用C语言自身编写了。文章源自微观生活(93wg.com)微观生活-https://93wg.com/2751.html

gcc源码下载地址文章源自微观生活(93wg.com)微观生活-https://93wg.com/2751.html

知道了C编译是如何来的,如果你还好奇B语言编译器是如何来的,那就是用汇编写出来的。汇编器如何来的,是用机器语言写出来的。套用道家的说法:机器生汇编,汇编生B,B生C,C生万物。文章源自微观生活(93wg.com)微观生活-https://93wg.com/2751.html

以上就是微观生活(93wg.com)关于“你是不是好奇,第一个C语言编译器是如何来的”的详细内容,希望对大家有所帮助!文章源自微观生活(93wg.com)微观生活-https://93wg.com/2751.html 文章源自微观生活(93wg.com)微观生活-https://93wg.com/2751.html

继续阅读
 
小微
  • 版权声明: 本文部分文字与图片资源来自于网络,转载此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们(管理员邮箱:81118366@qq.com),情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!
  • 转载请务必保留本文链接:https://93wg.com/2751.html