博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
编译与运行、解释程序与编译程序
阅读量:5173 次
发布时间:2019-06-13

本文共 848 字,大约阅读时间需要 2 分钟。

编译:产生目标代码。

运行:执行目标代码。

编译程序:

这是一类很重要的语言处理程序,它把(如FORTRAN、COBOL、Pascal、C等)作为输入,进行翻译转换,产生出的目标程序,然后再让计算机去执行这个目标程序,得到计算结果。 工作时,先分析,后综合,从而得到目标程序。所谓分析,是指词法分析和语法分析;所谓综合是指代码优化,存储分配和代码生成。为了完成这些分析综合任务,采用对源程序进行多次扫描的办法,每次扫描集中完成一项或几项任务,也有一项任务分散到几次扫描去完成的。下面举一个四遍扫描的例子:第一遍扫描做词法分析;第二遍扫描做语法分析;第三遍扫描做代码优化和存储分配;第四遍扫描做代码生成。 值得一提的是,大多数的编译程序直接产生的目标代码,形成可执行的目标文件,但也有的编译程序则先产生一级的符号代码文件,然后再调用进行翻译加工处理,最后产生可执行的目标文件。 在实际应用中,对于需要经常使用的有大量计算的大型题目,采用招待速度较快的编译型的较好,虽然编译过程本身较为复杂,但一旦形成目标文件,以后可多次使用。相反,对于小型题目或计算简单不太费机时的题目,则多选用解释型的会话式高级语言,如BASIC,这样可以大大缩短编程及调试的时

解释程序:

所谓解释程序是翻译程序的一种,它将源语言(如BASIC)书写的作为输入,解释一句后就提交计算机执行一句,并不形成目标程序。就像外语翻译中的“口译”一样,说一句翻一句,不产生全文的翻译文本。这种工作方式非常适合于人通过与计算机会话,如在终端上打一条命令或语句,解释程序就立即将此语句解释成一条或几条指令并提交硬件立即执行且将执行结果反映到终端,从终端把命令打入后,就能立即得到计算结果。这的确是很方便的,很适合于一些的计算问题。但解释程序执行速度很慢,例如中出现循环,则解释程序也重复地解释并提交执行这一组语句,这就造成很大浪费。

转载于:https://www.cnblogs.com/iammackong/p/3356621.html

你可能感兴趣的文章
git冲突解决办法
查看>>
201621123031 《Java程序设计》第14周学习总结
查看>>
数据库操作优化一例
查看>>
java中Integer i1= 0; Integer i2= 0; 为什么可以用 == 符号呢
查看>>
新版elasticsearch的插件安装
查看>>
php简易页面内调试技巧
查看>>
ivr
查看>>
IntelliJ IDEA 简体中文专题教程
查看>>
[Git] Git基础
查看>>
03 通过Button打开另一个的frm
查看>>
Dilworth定理,链还是反链?
查看>>
Web API配置自定义路由
查看>>
ASP.NET MVC程序中动态修改form的Action值
查看>>
静态内部类,匿名内部类,lambda推导式,方法内部类的使用方法
查看>>
水仙花问题
查看>>
标准库random
查看>>
js Grid - 列表插件
查看>>
Spring 体系结构
查看>>
20180124现货黄金操作思路
查看>>
关于游戏开发(转)
查看>>