超有趣小知识:先有编译器还是先有语言?

相信大家都想过一个问题:先有编译器还是先有的语言呐?

注意这里的语言和编译器是同级的,C语言对应C语言编译器,汇编语言对应汇编语言编器。

答案是:先有语言后有编译器,这就是语言与编译器的自举过程。

目录

一、程序的翻译过程:

二、语言更新历程

三、汇编语言和汇编编译器:


一、程序的翻译过程:

会经历以下四步:C语言为例

(1)、预处理:

        头文件展开

        去注释

        宏替换

        条件编译

注意:预处理后的语言还是C语言

(2)、编译

C语言——>汇编

(3)、汇编

汇编语言——>二进制语言(可重定位目标二进制文件,但不能执行)

(4)、链接

二、语言更新历程

从最开始的二进制出现,然后是汇编,然后是面向过程思想C语言,最后是面向对象思想的C++、java、python、shell等等。

三、汇编语言和汇编编译器

以汇编语言和汇编编译器为例:

当初人们觉得二进制太麻烦,效率也低,所以就发明了汇编语言,但是没有用汇编语言写的能编译汇编语言的编译器。这时就用二进制写了一个能编译汇编语言的编译器,然后才用汇编语言写了一个汇编语言编译器的代码,然后用这个二进制写的汇编语言编译器进行编译,最后就形成了第一个用汇编语言写的能编译汇编语言的编译器。有了编译器后就可以无限迭代更新维护。

同理C语言与C语言编译器也是一样,先用汇编语言写出一款能编译C语言的编译器,接着进行后续操作。

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

成工小白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值