相信许多对计算机有所了解的人都会听说过这样一句话:计算机只读得懂0和1。的确,计算机是只读的懂0和1,当然这里的0和1并不是数字0和1,而是泛指两种对立的状态,比如:电灯的亮和灭、开关的开和关、电压的高电平和低电平。
而对于早期的程序员来说,这一串串的0和1是唯一可以和电脑交互的方式。当时程序员编程的方式是在卡片上打上孔(有孔和没孔代表0和1),然后将打完孔的纸带输入到当时的计算机中。程序员或者说绝大部分的人类,都是非常懒惰的,我们不愿意的去记忆那些枯燥乏味的数字,而更愿意把自己的生命投入到那些有意义的事情上,于是汇编出现了。
编译器是将一种东西转换成另一种和它等价的东西,而编译器干的事情正是将相对高级的语言比如前面提到的 Fortran 语言或者更为人熟知的 C 之类的编译形语言转换成汇编的工具,之后人们就可以用汇编器将汇编转化成机器码了。
那么我们为什么需要编译器呢?正如汇编有两个明显的缺点一样,编译器所做的事情正是弥补了这两个缺点。一个优势是抽象,因为实现了编译器的一般都是高级语言,它们相对汇编语言而言隐藏了非常多的硬件细节,而转用各种编程范式来描述和解决问题。
第二点就是跨平台性,如果程序没有用到平台独有的代码,那么你只需要在新的平台上实现这个编程语言的编译器,然后重新编译已经写好的程序就可以在新的平台上使用它了。
本文【汇编编译器的实现原理,编译器的工作原理】由作者: 前端后端 提供,本站不拥有所有权,只提供储存服务,如有侵权,联系删除!
本文链接:https://www.cuoshuo.com/blog/4491.html