编译执行和解释执行的区别
A、解释程序 所谓解释程序是高级语言翻译程序的一种,它将源语言(如BASIC)书写的源程序作为输入,解释一句后就提交计算机执行一句,并不形成目标程序。就像外语翻译中的“口译”一样,说一句翻一句,不产生全文的翻译文本。这种工作方式非常适合于人通过终端设备与计算机会话,如在终端上打一条命令或语句,解释程序就立即将此语句解释成一条或几条指令并提交硬件立即执行且将执行结果反映到终端,从终端把命令打入后,就能立即得到计算结果。这的确是很方便的,很适合于一些小型机的计算问题。但解释程序执行速度很慢,例如源程序中出现循环,则解释程序也重复地解释并提交执行这一组语句,这就造成很大浪费。
B、编译程序 这是一类很重要的语言处理程序,它把高级语言(如FORTRAN、COBOL、Pascal、C等)源程序作为输入,进行翻译转换,产生出机器语言的目标程序,然后再让计算机去执行这个目标程序,得到计算结果。 编译程序工作时,先分析,后综合,从而得到目标程序。所谓分析,是指词法分析和语法分析;所谓综合是指代码优化,存储分配和代码生成。为了完成这些分析综合任务, 编译程序采用对源程序进行多次扫描的办法,每次扫描集中完成一项或几项任务,也有一项任务分散到几次扫描去完成的。下面举一个四遍扫描的例子:第一遍扫描做词法分析; 第二遍扫描做语法分析;第三遍扫描做代码优化和存储分配;第四遍扫描做代码生成。 值得一提的是,大多数的编译程序直接产生机器语言的目标代码,形成可执行的目标文件,但也有的编译程序则先产生汇编语言一级的符号代码文件, 然后再调用汇编程序进行翻译加工处理,最后产生可执行的机器语言目标文件。 在实际应用中,对于需要经常使用的有大量计算的大型题目,采用招待速度较快的编译型的高级语言较好,虽然编译过程本身较为复杂,但一旦形成目标文件, 以后可多次使用。相反,对于小型题目或计算简单不太费机时的题目,则多选用解释型的会话式高级语言,如BASIC,这样可以大大缩短编程及调试的时间
转载于:https://www.cnblogs.com/Tally/archive/2013/04/16/3023677.html
编译执行和解释执行的区别相关推荐
- 编译执行和解释执行/初识量子计算机
- 【扩展阅读之编译和解释语言的区别】
扩展阅读之编译和解释语言的区别 1 本节目标 2 解释型语言和编译型语言 3 标识符.关键字.保留字 1 本节目标 知道解释型语言和编译型语言的特点 知道标识符不能是关键字或保留字 2 解释型语言和编 ...
- 【Qt】Qt程序编译成功,执行时报错:程序异常结束,crashed
[Qt]Qt程序编译成功,执行时报错:程序异常结束,crashed 错误打印信息 Starting E:*exe- 程序异常结束. E:*.exe crashed. 原因 使用到外部库,编译时,指定了 ...
- VC++ MFC单文档应用程序SDI下调用glGenBuffersARB(1, pbo)方法编译通过但执行时出错原因分析及解决办法:glewInit()初始化的错误...
1.问题症状 在VC++环境下,利用MFC单文档应用程序SDI下开发OpenGL程序,当调用glGenBuffersARB(1, &pbo)方法编译通过但执行时出错,出错代码如下: OpenG ...
- pyinstaller 编译完exe执行结果 ModuleNotFoundError: No module named ‘sqlalchemy‘
问题描述: pyinstaller 编译完exe执行结果 ModuleNotFoundError: No module named 'sqlalchemy' 尝试着向隐藏导入中加入该模块,无效 解决方 ...
- JSP页面最终是编译为Servlet执行的
JSP页面最终是编译为Servlet执行的,你可以在Tomcat的%CATALINA_HOME%/work/Catalina/localhost中找到一个文件夹,该文件夹跟你的web-project的 ...
- 实时编译、动态执行C/C++源码函数
实时编译.动态执行C/C++源码函数 语法格式:fileCLASS *pObj = <file.cpp> 该语法获得源代码file.cpp的函数接口对象指针pObj,通过pObj调用fil ...
- 代码执行与命令执行的区别
代码执行与命令执行的区别 代码执行本质上是调用后端语言(PHP,JAVA--)来执行特定代码,而命令执行本质是调用系统的命令执行的接口,与对于的不同的语言无关,只与系统的版本有关. 代码执行相关函数 ...
- python编译过程和执行原理
python编译过程和执行原理 (1)python执行原理 这里的解释执行是相对于编译执行而言的.我们都知道,使用C/C++之类的编译性语言编写的程序,是需要从源文件转换成计算机使用的机器语言,经过链 ...
最新文章
- mysql 选项_mysql常用选项
- Scala键盘录入代码示例
- C语言斐波那契数列(附完整源码)
- UncaughtExceptionHandler:java未捕获的异常/错误默认处理方式
- p2psearcher2013源码实现原理
- activex control test container 服务器正在运行中_Desktop Central服务器RCE漏洞在野攻击分析...
- 【Oracle】管理还原数据(undo)
- pso-svm 算法实现(1):python DEAP
- 2021-08-3116. 最接近的三数之和 排序+双指针
- java 性能优化:35 个小细节,让你提升 java 代码的运行效率
- 2019最新java实战项目资料
- matlab数组输出字符,Matlab字符型数组的输入输出
- JavaScript中的break
- Android上的滤镜效果
- 《markdown》语雀导出markdown的图片外链问题
- 【19调剂】苏州科技大学2019年硕士研究生招生预调剂公告
- 胡说八道JVM—垃圾回收算法和垃圾回收器
- C++ 中利用 _findfirst遍历所有文件夹及文件,以及findnext win10报错解决办法
- 股市跌跌不休,IPO能救市吗?
- 教你如何使用Ceph块设备增强OpenStack云环境
热门文章
- python小程序-python学习—几个简单小程序
- python3.8.2汉化包-Python3.8.2中文版 32/64位 官方最新版
- python手机版ios-使用Python写iOS自动化测试
- 如何查看python是多少位的-如何查看Python的位数
- python密码学编程pdf-Python密码学编程PDF电子书免费下载
- 零基础自学python的app-零基础转行Python,为什么有些人自学几天就放弃了?
- 0基础学python编程难吗-对于0基础的人,直接学 Python 编程合适吗?
- python代码格式-Python代码格式PEP8
- python趣味编程10例-python趣味编程100例(99个)
- python如何读写文件-Python之写入文件(1)