相信大家都想过一个问题:先有编译器还是先有的语言呐?
注意这里的语言和编译器是同级的,C语言对应C语言编译器,汇编语言对应汇编语言编器。
答案是:先有语言后有编译器,这就是语言与编译器的自举过程。
目录
一、程序的翻译过程:
会经历以下四步:C语言为例
(1)、预处理:
头文件展开
去注释
宏替换
条件编译
注意:预处理后的语言还是C语言
(2)、编译
C语言——>汇编
(3)、汇编
汇编语言——>二进制语言(可重定位目标二进制文件,但不能执行)
(4)、链接
二、语言更新历程
从最开始的二进制出现,然后是汇编,然后是面向过程思想C语言,最后是面向对象思想的C++、java、python、shell等等。
三、汇编语言和汇编编译器:
标签:语言,二进制,汇编语言,C语言,编译,编译器,先有,有趣 From: https://blog.csdn.net/hffh123/article/details/143644615以汇编语言和汇编编译器为例:
当初人们觉得二进制太麻烦,效率也低,所以就发明了汇编语言,但是没有用汇编语言写的能编译汇编语言的编译器。这时就用二进制写了一个能编译汇编语言的编译器,然后才用汇编语言写了一个汇编语言编译器的代码,然后用这个二进制写的汇编语言编译器进行编译,最后就形成了第一个用汇编语言写的能编译汇编语言的编译器。有了编译器后就可以无限迭代更新维护。
同理C语言与C语言编译器也是一样,先用汇编语言写出一款能编译C语言的编译器,接着进行后续操作。