全部科目 > 数据库系统工程师 >
2024年上半年 上午试卷 综合知识
第 2 题
知识点 编译程序和解释程序   编译与解释方式的比较  
关键词 编译   高级语言   源代码   语言  
章/节 计算机软件基础知识  
 
 
以下关于编译和解释的叙述中,正确的为( )。
① 编译是将高级语言源代码转换成目标代码的过程
② 解释是将高级语言源代码转换为目标代码的过程
③ 在编译方式下,用户程序运行的速度更快
④ 在解释方式下,用户程序运行的速度更快
 
  A.  ①④
 
  B.  ②④
 
  C.  ②③
 
  D.  ①③




 
 
相关试题     计算机软件基础知识 

  第49题    2024年上半年  
程序中全局变量的存储空间在( )分配。

  第20题    2012年上半年  
对于逻辑表达式“x and y or not z”,and、or、not分别是逻辑与、或、非运算,优先级从高到低为not、and、or,and、or为左结合,not为右结合,若进行短..

  第20题    2020年下半年  
线程可以实现在(  )。
①内核空间;②用户空间;③ 虚拟空间;④物理空间

 
知识点讲解
· 编译程序和解释程序
· 编译与解释方式的比较
 
        编译程序和解释程序
        高级程序语言必须进行翻译才能为计算机硬件所理解,语言之间的翻译形式有多种,基本方式为汇编、解释和编译。
        用某种高级语言或汇编语言编写的程序称为源程序,源程序不能直接在计算机上执行。如果源程序是用汇编语言编写的,则需要一个汇编程序将其翻译成目标程序后才能执行。如果源程序是用某种高级语言编写的,则需要对应的解释程序或编译程序对其进行翻译,然后在机器上运行。
        解释程序也称为解释器,它或者直接解释执行源程序,或者将源程序翻译成某种中间代码后再加以执行;而编译程序(编译器)则是将源程序翻译成目标语言程序,然后在计算机上运行目标程序。这两种语言处理程序的根本区别是:在编译方式下,机器上运行的是与源程序等价的目标程序,源程序和编译程序都不再参与目标程序的执行过程;而在解释方式下,解释程序和源程序(或其某种等价表示)要参与到程序的运行过程中,运行程序的控制权在解释程序。简单来说,在解释方式下,翻译源程序时不生成独立的目标程序,而编译器则将源程序翻译成独立保存的目标程序。
 
        编译与解释方式的比较
        对于高级语言的编译和解释工作方式,可以从以下几个方面进行比较:
        (1)效率。编译比解释方式可能取得更高的效率。
        一般情况下,在解释方式下运行程序时,解释程序可能需要反复扫描源程序。例如,每一次引用变量都要进行类型检查,甚至需要重新进行存储分配,从而降低了程序的运行速度。在空间上,以解释方式运行程序需要更多的内存,因为系统不但需要为用户程序分配运行空间,而且要为解释程序及其支撑系统分配空间。
        在编译方式下,编译程序除了对源程序进行语法和语义分析外,还要生成源程序的目标代码并进行优化,所以这个过程比解释方式需要更多的时间。虽然与精心设计的机器代码程序相比,一般由编译程序创建的目标程序运行的时间更长,需要占用的存储空间更多,但源程序只需要被编译程序翻译一次,就可以多次运行。因此总体来讲,编译方式比解释方式可能取得更高的效率。
        (2)灵活性。由于解释程序需要反复检查源程序,这也使得解释方式能够比编译方式更灵活。当解释器直接运行源程序时,“在运行中”修改程序就成为可能,例如增加语句或者修改错误等。另外,当解释器直接在源程序上工作时,它可以对错误进行更精确的定位。
        (3)可移植性。解释器一般也是用某种程序设计语言编写的,因此只要对解释器进行重新编译,就可以使解释器运行在不同的环境中。
        由于编译和解释的方法各有特点,因此现有的一些编译系统既提供编译的方式,也提供解释的方式,甚至将两种方式进行结合。例如,在Java虚拟机上发展出的compiling-just-in-time新技术,就是在代码第一次运行时进行编译,在其后的运行中就不再进行编译了。



更多复习资料
请登录电脑版软考在线 www.rkpass.cn

京B2-20210865 | 京ICP备2020040059号-5
京公网安备 11010502032051号 | 营业执照
 Copyright ©2000-2025 All Rights Reserved
软考在线版权所有