汇编编译器的实现原理,编译器的工作原理

相信许多对计算机有所了解的人都会听说过这样一句话:计算机只读得懂0和1。的确,计算机是只读的懂0和1,当然这里的0和1并不是数字0和1,而是泛指两种对立的状态,比如:电灯的亮和灭、开关的开和关、电压的高电平和低电平。

而对于早期的程序员来说,这一串串的0和1是唯一可以和电脑交互的方式。当时程序员编程的方式是在卡片上打上孔(有孔和没孔代表0和1),然后将打完孔的纸带输入到当时的计算机中。程序员或者说绝大部分的人类,都是非常懒惰的,我们不愿意的去记忆那些枯燥乏味的数字,而更愿意把自己的生命投入到那些有意义的事情上,于是汇编出现了。

汇编编译器的实现原理,编译器的工作原理

编译器是将一种东西转换成另一种和它等价的东西,而编译器干的事情正是将相对高级的语言比如前面提到的 Fortran 语言或者更为人熟知的 C 之类的编译形语言转换成汇编的工具,之后人们就可以用汇编器将汇编转化成机器码了。

那么我们为什么需要编译器呢?正如汇编有两个明显的缺点一样,编译器所做的事情正是弥补了这两个缺点。一个优势是抽象,因为实现了编译器的一般都是高级语言,它们相对汇编语言而言隐藏了非常多的硬件细节,而转用各种编程范式来描述和解决问题。

第二点就是跨平台性,如果程序没有用到平台独有的代码,那么你只需要在新的平台上实现这个编程语言的编译器,然后重新编译已经写好的程序就可以在新的平台上使用它了。

本文【汇编编译器的实现原理,编译器的工作原理】由作者: 前端后端 提供,本站不拥有所有权,只提供储存服务,如有侵权,联系删除!
本文链接:https://www.cuoshuo.com/blog/4491.html

(0)
上一篇 2023-03-14 08:26:06
下一篇 2023-03-14 08:39:33

相关推荐

  • java能做什么类型的游戏

    2000年彩屏手机开始流行,诺基亚作为当年世界第一的手机厂商,更是研发出了多款造型酷炫的手机,例如翻盖、推盖以及后来的触屏机,都曾被我们使用过。我还记得当年小的时候,拿着爸爸的手机在上面搜索和下载各种游戏,以至于后来他的话费经常隔三差五地就要充5、60块钱,毕竟当年流量真的不够用,而且有些游戏还带有短信付费功能。 不过对于现在的年轻人来说,诺基亚时代的游戏可…

    2023-03-09
    500
  • 电脑的发展史简单介绍100字_电脑的发展史简介

    计算机的发展历史可以追溯到古希腊时期,当时已经有一些机械计算器。 但是,真正意义上的计算机是在 20 世纪初期诞生的。1936 年,英国数学家 Alan Turing 发明了第一台逻辑机器,从而奠定了计算机科学的基础。 1940 年代,第二次世界大战期间,计算机被广泛用于军事计算。1943 年,美国科学家设计了第一台大型电子计算机,称为 ENIAC,它被用于…

    2023-03-13
    500
  • 电脑哪个键是复制粘贴_电脑怎么快捷复制粘贴

    电脑上的快捷键有很多,你们知道其中的多少呢?复制粘贴还是只会鼠标右键点击复制粘贴吗?使用快捷键比使用鼠标进行复制粘贴方便很多,全选快捷键ctrl加什么?小编给大家带来快捷键教程!速速来学! 方法一:复制粘贴部分数据的快捷按钮 步骤一:首先将需要复制的数据用鼠标进行拉取,拉取完后按“Ctrl+C”,如下图所示,复制后的框框呈虚线形式,即代表复制成功。 步骤二:…

    2023-03-21
    000
  • solidworks动画制作教程 solidworks教学

    方法: 1.首先对模型进行装配,装配完成之后如下图所示。 2.点击SolidWorks窗口左下侧的“运动算例1”选项,如下图所示。 我们可以看到如下图所示的窗口。使用鼠标将红色箭头所指的竖线拖拽到5秒的位置,如下图所示。 使用鼠标左键拖动下图黄色的零件到零件的另一端,如下图所示。 我们可以系统会自动产生如下图所示的键码。这一段我们使用默认的线性插值模式。 3…

    2023-03-16
    200
  • 全栈工程师需要掌握哪些知识_全栈工程师需要学多久

    Web前端工程师可能大家知道是干嘛的,你知道Web全栈工程师是什么吗?Web全栈工程师也是前端开发工程师的一种,而且通过前端培训也是能成为Web全栈工程师的。那么,学web前端开发需要多久?Web全栈工程师需要掌握哪些技术呢? Web全栈工程师是什么? Web全栈开发工程师,主要职责是利用 HTML/CSS/Java/DOM/Flash等各种Web技术进行产…

    2023-03-18
    200
  • java软件工程师证书含金量(java软件开发高级证书)

    近来IT行业成为了发展前景好高薪资的大热门,社会上也出现了“计算机考试热”。尤其在校毕业生、在职人士等很多人为了自己的前途都会去学习java,那么java认证证书含金量高吗?学习java必考的证书又有哪些呢? 下面小编将详细介绍一下含金量高的JAVA证书,避免大家在不需要的考试上浪费时间。 SCJP sun certificated java program…

    2023-03-15
    000
  • css是什么软件

    大家在使用电脑的时候,接触最多的应该就是Adobe,那Adobe到底是什么呢? 对于这个问题相信不少学设计的小伙伴们对于adobe都不陌生,特别是对于从事ui设计、平面设计、影视后期制作等行业的人们,毕竟大家在学习过程中以及工作中使用所的很多软件,都是由adobe开发的。 Adobe是什么? 简而言之adobe就是一家美国的跨国软件公司,专注于多媒体创作和创…

    2023-03-10
    800
  • 迷你dv带用什么机器播放_DV和miniDV磁带的区别

    20多年前,几乎家家都有一些这样的录像带。里面多记录春节晚会和明星歌舞演出,还有就是婚礼的录像资料。 我们习惯叫它大1/2录像带。1/2是指录像带磁带的宽度为1/2英寸,即12.65mm。 笨重的1/2录像机流行没有多久,就被更加小巧,各种技术指标更好的dv机所取代。这个时候,百姓生活条件也较以前有了很大的提高,人们也开始关心和重视亲情记录。家中的dv机记录…

    2023-03-16
    100
  • outlook发邮件抄送那里填什么,outlook无法发送邮件

    OUTLOOK使用技巧6-密件抄送 快速启用“密件抄送” 有时根据需要您希望将某份邮件秘密抄送给某些同事,这时您可以启用“密件抄送”: 1.按下 Ctrl + N新建电子邮件; 2.点击“选项”>“密件抄送”,可在显示的“密件抄送”框中指定秘密接收此邮件的人员,其他收件人看不到此框中的人员: 快速切换界面 有时您需要不断在“邮件”和“日历”等界面之间进…

    2023-03-19
    000
  • static变量和static代码块_static变量的作用

    1. 概述 static 是一种修饰符 static 是Java中表静态的关键字 它可以修饰成员变量、成员方法、代码块 被static修饰的成员变量或成员方法,将不再依赖于对象的创建而去使用,而是依赖类的存在,成为类成员或类方法,是共享的(下面将会详细的解释)。 2. static修饰成员变量 2.1 常见的修饰符 public 修饰符 private 修饰…

    2023-03-09
    700

发表回复

登录后才能评论
返回顶部
错说博客上线啦!