编译程序与翻译程序、汇编程序的联系与区别,编译过程包括的⼏个主要阶段,解释程序与编译程序的区别
1)简述编译程序与翻译程序、汇编程序的联系与区别。
翻译程序指把⾼级语⾔源程序翻译成机器语⾔源程序(⽬标代码)的软件。翻译程序有两种:⼀种是编译程序,它将⾼级语⾔源程序⼀次性全部翻译成⽬标程序,每次执⾏程序时,只要执⾏⽬标程序。另⼀种是解释程序,它的执⾏过程是翻译⼀句执⾏⼀句,并且不会⽣成⽬标程序。
编译程序是先完整编译后运⾏的程序,如C、C++等;解释程序是⼀句⼀句翻译且边翻译边执⾏的程序,如JavaScript、Python等。如图
汇编程序也是⼀种语⾔翻译程序,它把汇编语⾔源程序翻译成机器语⾔程序。
编译程序与汇编程序的区别:如果源语⾔是诸如C、C++、Java等“⾼级语⾔”,⽽⽬标语⾔是诸如汇编语⾔或机器语⾔之类的“低级语⾔”,这样的⼀个翻译程序称为编译程序。如果源语⾔是汇编语⾔,⽽⽬标语⾔是机器语⾔,这样的⼀个翻译程序称为汇编程序。
方舟编译器支持机型2)编译过程包括哪⼏个主要阶段及每个阶段的主要功能。
编译阶段也常常划分为两⼤步骤,分析步骤和综合步骤分析步骤和综合步骤分析步骤是指对源程序的分析-线性分析(词法分析或扫描) -层次分析(语法分析) -语义分析综合步骤是指后端的⼯作,为⽬标程序的⽣成⽽进⾏的综合。
3)简述解释程序与编译程序的区别。
编译程序能⽣成⽬标程序,⽽解释程序不能。编译程序是整体编译完了,再⼀次性执⾏。⽽解释程序是⼀边解释,⼀边执⾏。解释⼀句后就提交计算机执⾏⼀句,并不形成⽬标程序。就像外语翻译中的“⼝译”⼀样,说⼀句翻⼀句,不产⽣全⽂的翻译⽂本。编译器是把源程序的每⼀条语句都编译成机器语⾔,并保存成⼆进制⽂件,这样运⾏时计算机可以直接以机器语⾔来运⾏此程序,速度很快。⽽解释器则是只在执⾏程序时,才⼀条⼀条的解释成机器语⾔给计算机来执⾏,所以运⾏速度是不如编译后的程序运⾏的快的。这是因为计算机不能直接认识并执⾏我们写的语句,它只能认识机器语⾔(是⼆进制的形式)。
众所周知,搭载安卓系统的⼿机在经过长时间的使⽤之后,经常会出现使⽤卡顿和图像传输延后以及⽹络连接不畅等问题。长期以来这个问题⼀直没能彻底解决,⽅⾈编译器或许是这个问题的终结者。其实,⽅⾈编译器是华为历经多年打造出来的秘密武器,也许⼤家不是很了解什么是⽅⾈翻译器,举个例⼦好了,当我们碰到外国⼈并且语⾔不通的时候,这个时候就需要⼀个中介作为翻译传递互相的信息。
简单来说,⽅⾈编译器就是可以将⾼级语⾔⽐如Java,直接编译成变成机器码的技术。它最⼤的优势就在于绕过了安卓系统的VM(虚拟机),从使得应⽤可以像苹果引以为傲的iOS系统⼀样,转化出的机器码可以直接由CPU运算,从⽽使得运⾏效率⼤⼤提升。
更详细的说,现在的安卓⼿机采⽤的是动态编译,在⼿机上进⾏编译,往往有部分程序需要⼀边转换⼀边执⾏,影响程序执⾏的效率。⽽⽅⾈编译器是采⽤全新的系统及应⽤的编译和运⾏机制,对所有的 Java 语义全部做到静态编译,直接将Java 语⾔“翻译”成机器语⾔,代替⾼资源消耗的动态编译。所以相⽐起单纯的翻译机器来说,华为⽅⾈编译器更像是让您直接获得了语⾔能⼒,对⽐单纯作为翻译中介,更将运⾏效率⼤幅度提升,从根本上改善安卓系统运⾏慢的弊端。
根据华为实验室的测试数据,EMUI 9.1 在仅仅对系统组件 System Server 应⽤了华为⽅⾈编译器后,系统操作流畅度提升24%,系统响应性能提升 44%。同时,新浪微博极速版在应⽤⽅⾈编译器之后,操作流畅度最⾼提升了60%。根据华为的监测数据来看,⽅⾈编译器可以说是给安卓系统带来了⼀场⾰命性的升级变⾰,着实让业界侧⽬。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论