编译器有哪些(编译器是用什么写的)
在编译型语言中,软件是由编译器编译而来的,编译器本身也是软件,那编译器又是怎么来的呢?咋一看这个问题,感觉又要掉入"鸡生蛋,蛋生鸡"这样无止尽的循环中了。下面以C语言编译器为例,介绍下C编译器是什么来的。
C语言之父
C语言并不是第一门编程语言,在它之前,已经有其他编程语言存在了,例如B语言、Fortran,汇编等。C语言的设计参考了B语言,历史上第一个C编译器是使用B语言编写的,甚至有可能是由B 汇编混合编写。在这里我们需要明确一点,C语言的发展并不是一蹴而就的,而是经历了多年的完善和修改才被推出(C语言诞生于1969 - 1973年间,由贝尔实验室的汤普逊(Ken Thompson)和里奇(Dennis Ritchie)二人共同发明,正式成型是在1973年。)。同样,C编译器也是经过逐次迭代更新才最终形成具备完整功能的C编译器。
C语言具有自举特性,自举的意思是该语言的编译器可以编译出编译该语言的编译器。
是不是有点绕?话说我自己都差点没读懂自己写的话。说简单一点就是该语言不需要借助其他语言就可以编译出给自己用的编译器。但是,第一个编译器必须是通过其他语言编译出来的(先有鸡),有了第一版编译器之后,才能实现编译器的自我迭代。在用B语言编译出第一个C编译器后,利用C语言的自举特性,就可以像滚雪球一样,由最初的一个只具备基本功能的C编译器不断迭代,开发出支持更多特性的C编译器,并最终形成我们现在使用的版本。如果你有兴趣,可以在互联网上下载到最新的gnu C工具链源码并自行编译出gcc编译器。除了第一版C编译器以外,C编译器的源码早已经脱离了B语言,使用C语言本身编写了。
gcc源码下载地址
知道了C编译是怎么来的,如果你还好奇B语言编译器是怎么来的,那就是用汇编写出来的。汇编器怎么来的,是用机器语言写出来的。套用道家的说法:机器生汇编,汇编生B,B生C,C生万物。
质数是什么意思(质数是什么有哪些)欧几里得16质数,因数,自然数,完全数,平方数第一次数学危机相关文章数学史话之第一次数学危机内容毕达哥拉斯将自然数分为奇数偶数素数完全数平方数三角数等等。甚至还抛弃了地心说指出当时
茔怎么读(茔读什么音)下训蒙骈句八庚霞散绮,雪飞琼。虹消雨霁,斗转星横。月移花改影,风动竹生声。岭外云霞花下月,湖边烟雨柳梢晴。旸谷日华,仪凤羽毛新灿烂洞庭浪暖,化龙头角独峥嵘。占凤偶,结鸥盟。开笼放鹤
亲子鉴定需要什么(亲子鉴定需要什么样的头发)根据同事反馈,很多人都这样,知道头发能做个人隐私亲子鉴定,又可以化名办理,然后呢,有的人就邮寄或送样到广州DNA亲子鉴定中心,后面因为办理前没有沟通按要求采样,导致检测需要补样,虽
怎么克服懒惰(改掉粗心的毛病训练法)你有没有想过,为什么每次做事之前,都要做一大轮所谓的思想挣扎?好不容易开始工作了,稍微放松一下,就又什么都不想干了。总之,让自己行动起来很难,而行动之后坚持下去又很难。为什么自律就
软件著作权有什么用(软件著作权转让需要多长时间)软件著作权又名软件版权,是指软件的开发者或者其他权利人依据有关著作权法律的规定,对于软件作品所享有的各项专有权利(发表权开发者身份权使用权使用许可权和获得报酬权等。现在著作权登记已
露姬婷洗面奶怎么样(洗面奶十大黑名单)实力,值得回购的洗面奶温和,补水美白去黑头理肤泉洁面膏富含甘油,温和卸除脸部和眼周彩妆和不洁物,洁肤同时滋润皮肤,免洗配方,避免因物质污染造成皮肤过敏,又可避免因质地过于厚重而反复
漏斗胸手术多少钱(漏斗胸怎么判断轻重)提要很多胸外科医生亲眼目睹过Wung手术,如今正大面积践行这样的手术。Wung手术的实用性已经被大量临床经验所证实。有理由相信,这种技术会因为其良好的实用性而越来越受欢迎。Nuss
心悦1多少钱(心悦俱乐部vip1多少钱)对于大多数玩家而言,普遍认为腾讯没有客服,只有玩家充值金额达到一定等级时才会获得心悦会员专属客服。可玩家不了解的是,腾讯的心悦会员也是分三六九等的,如想达到心悦会员1需充值5千,心
为什么李谷一喜欢霍尊(歌手霍尊李谷一)今天小编和大家聊聊李谷一老师和肖卓能先生的感情故事!话不多说下面跟随小编一起来看看吧!小编对李谷一老师是从春节联欢晚会的难忘今宵这首歌。这首歌伴随了小编很多年,到小编上了高中,当李
怎么快速止痒(全身发痒怎么快速止痒)荨麻疹作为一种常见的敏感性皮肤疾病,它也分为慢性疾病和急性两种,急性在发病时会让患者难以忍受,甚至会影响生活和工作,容易过敏或者曾经发作过急性的患者要了解一下,可以减少发病带来的痛
国庆宝珠选哪个(DNF春节宝珠VS国庆宝珠)本文由我永远喜欢DNF原创首发,禁止任何平台和个人以任何方式抄袭,违者必究无论你是喜欢正经的职业百科还是搞笑的DNF趣事,点点不迷路小编会努力继续给大家带来干货满满的文章,您的和收