首页 > 知识点讲解
       程序编译、解释系统
知识路径: > 计算机系统知识 > 计算机软件知识 > 程序设计语言和语言处理程序基础知识 > 汇编、编译、解释系统的基础知识和基本工作原理 > 
被考次数:4次     被考频率:中频率     总体答错率:45%     知识难度系数:     
考试要求:了解      相关知识点:10个      
               程序的编译及解释
               计算机并不能直接地接受和执行用高级语言编写的源程序,源程序在输入计算机时,通过“翻译程序”翻译成机器语言形式的目标程序,计算机才能识别和执行。
               这种“翻译”通常有两种方式,即编译方式和解释方式。编译方式是:事先编好一个称为编译程序的机器语言程序,作为系统软件存放在计算机内,当用户由高级语言编写的源程序输入计算机后,编译程序便把源程序整个地翻译成用机器语言表示的与之等价的目标程序,然后计算机再执行该目标程序,以完成源程序要处理的运算并取得结果。解释方式是:源程序进入计算机时,解释程序边扫描边解释做逐句输入逐句翻译,计算机一句句执行,并不产生目标程序。Pascal、Fortran、Cobol等高级语言执行编译方式;Basic语言则以执行解释方式为主;而Pascal、C语言是能书写编译程序的高级程序设计语言。
               编译程序基本原理
               编译程序的功能是指在应用源程序执行之前,就将程序源代码“翻译”成目标代码(机器语言),因此其目标程序可以脱离其语言环境独立执行,使用比较方便、效率较高。但应用程序一旦需要修改,必须先修改源代码,再重新编译生成新的目标文件(* .OBJ)才能执行,只有目标文件而没有源代码,修改很不方便。现在大多数的编程语言都是编译型的,例如Visual C++、Visual Foxpro、Delphi等。
               编译程序大致分为6个阶段(phase),如下图所示,它们执行不同的逻辑操作。将这些阶段设想为编译器中一个个单独的片断是很有用的,尽管在应用中它们是经常组合在一起的,但它们确实是作为单独的代码操作来编写的。
               
               编译过程
               解释程序基本原理
               解释程序的执行方式类似于日常生活中的“同声翻译”,应用程序源代码一边由相应语言的解释器“翻译”成目标代码(机器语言),一边执行,因此效率比较低,而且不能生成可独立执行的可执行文件,应用程序不能脱离其解释器,但这种方式比较灵活,可以动态地调整、修改应用程序。解释程序基本上执行与编译程序相同的功能,只是方式上不同而已。解释程序按顺序翻译并执行每一条源程序语句。解释程序的优点是当语句出现语法错误时,可以立即引起程序员注意,而程序员在程序开发期间就能进行校正。解释程序的缺点是不能像编译程序那样充分地利用计算机资源。
               解释执行的语言因为解释器不需要直接同机器码打交道所以实现起来较为简单、而且便于在不同的平台上面移植,这一点从现在的编程语言解释执行的居多就能看出来,如Visual Basic、Visual Foxpro、Power Builder、Java等。编译执行的语言因为要直接同CPU的指令集打交道,具有很强的指令依赖性和系统依赖性,但编译后的程序执行效率要比解释语言高得多,现在的Visual C/C++、Delphi等都是很好的编译语言。
               对于解释语言与编译语言所编制出来的代码在安全性上而言,可以说是各有优缺点。曾经在Windows下跟踪调试过VB程序的一般都知道,程序代码99%的时间里都是在VBRUNxx里转来转去,根本看不出一个所以然来。这是因为跟踪的是VB的解释器,要从解释器中看出代码的目的是什么是相当困难的。但解释语言有一个致命的弱点,那就是解释语言的程序代码都是以伪码的方式存放的,一旦被人找到了伪码与源码之间的对应关系,就很容易做出一个反编译器出来,源程序等于被公开了。而编译语言因为直接把用户程序编译成机器码,再经过优化程序的优化,很难从程序返回到源程序的状态,但对于熟悉汇编语言的解密者来说,也很容易通过跟踪代码来确定某些代码的用途。
 
本知识点历年真题:
隶属试卷 题号/题型 题干 难度系数/错误率
   2013年上半年
   信息系统管理工..
   上午试卷 综合知识
第4题
选择题
将C语言编写的源程序转换为目标程序的软件属于(4)软件。

27%
   2012年上半年
   信息系统管理工..
   上午试卷 综合知识
第7题
选择题
(7)的任务是将来源不同的编译单元装配成一个可执行的程序。

46%
 
 相关知识点:
 
软考在线指南
优惠劵及余额
在线支付
修改密码
下载及使用
购买流程
取消订单
联系我们
关于我们
联系我们
商务合作
旗下网站群
高级资格科目
信息系统项目管理师 系统分析师
系统架构设计师 网络规划设计师
系统规划与管理师
初级资格科目
程序员 网络管理员
信息处理技术员 信息系统运行管理员
中级资格科目
系统集成项目管理工程师 网络工程师
软件设计师 信息系统监理师
信息系统管理工程师 数据库系统工程师
多媒体应用设计师 软件评测师
嵌入式系统设计师 电子商务设计师
信息安全工程师
 

本网站所有产品设计(包括造型,颜色,图案,观感,文字,产品,内容),功能及其展示形式,均已受版权或产权保护。
任何公司及个人不得以任何方式复制部分或全部,违者将依法追究责任,特此声明。
本站部分内容来自互联网或由会员上传,版权归原作者所有。如有问题,请及时联系我们。


工作时间:9:00-20:00

客服

点击这里给我发消息 点击这里给我发消息 点击这里给我发消息

商务合作

点击这里给我发消息

客服邮箱service@rkpass.cn


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