1. 编译程序和解释程序的区别:

编译型是使用编译器编译后生成计算机硬件可直接执行的指令,解释型是在运行时才由解释器逐语句去执行。

编译型代表:C&C++,C#,Java,解释型代表:html,javascript。区别有很多,说说常见的几个:

  1. 编译型语言的源代码有错误编译不通过,无法生成可执行代码,更无法执行程序;解释型语言只有执行时才会判断是否出错,即使一句出错,也可以继续执行下一句。
  2. 编译型语言都为强类型,即必须说明数据的类型,如int a;解释型语言多为弱类型,如js中var a,a可以为字符串也可以为整形。
  3. 编译型语言执行效率上大大优于解释型,主要因为编译器在编译过程中会根据不同平台自动优化目标代码,且特点为1次编译,N次运行,另外强类型的程序安全性高;解释型语言无上述过程,逐语句翻译造成执行效率低下,每次执行都会重复解释一遍,并且安全性低。
  4. 编译型程序适合对通用性,重复性,高效性有要求的系统,如开发操作系统;相比解释型语言更具灵活性,如开发网站前台页。
  5. 编译程序编译时间较长,运行速度较快

2. 翻译程序

翻译程序是指把高级语言源程序换成机器语言程序(目标代码)的软件。
翻译程序有两种:

  1. 编译程序。它将高级语言一次全部翻译成目标程序,每次执行程序时,只需要执行目标程序,因此只要源程序不变,就无需重新编译。
  2. 解释程序。它将源程序的一条语句翻译成对应的机器目标代码,并立即执行,然后翻译吓一跳源程序语句并执行,直至所有源程序语句全部都被翻译完。
  3. 汇编语言也是一种语言翻译程序,它把汇编语言源程序翻译成机器语言程序。汇编语言是一种面向机器的低级语言,用机器语言的符号表示,与机器语言一一对应。

编译器结构

编译程序和解释程序有什么区别?相关推荐

  1. 编译程序和解释程序有哪些区别?

    编译程序,解释程序,汇编程序是3种语言处理程序.其区别主要为: 汇编程序(为低级服务)是将汇编语言书写的源程序翻译成由机器指令和其他信息组成的目标程序. 解释程序(为高级服务)直接执行源程序或源程序的 ...

  2. 编译程序与解释程序区别

    目录 前言 一.编译程序定义 二.解释程序定义 总结 前言 举例: A想去外国看演出,但是他不会英文,只能花钱去请翻译. B给出了两种解决办法: 1.购买一本已经翻译完成的英语书,可以直接借用这本书进 ...

  3. 编译程序和解释程序的区别

    编译程序和解释程序的区别 1.解释程序是高级语言翻译程序的一种,它将源语言书写的源程序作为输入,解释一句就提交给计算机执行一句,并不形成目标程序. 2.编译程序把高级语言源程序作为输入,进行翻译转换, ...

  4. 编译程序与解释程序的区别

    高级程序设计语言主要可以分为两类:编译执行的语言和解释执行的语言,对应的程序即为编译程序和解释程序,那么这两个之间的区别是什么呢? 根本区别 编译程序和解释程序的根本区别在于是否产生低级语言形式的目标 ...

  5. 编译程序、解释程序、汇编程序和编译、解释的概念

    计算机并不能直接地接受和执行用高级语言编写的源程序,源程序在输入计算机时,通过"翻译程序"翻译成机器语言形式的目标程序,计算机才能识别和执行.这种"翻译"通常有 ...

  6. 翻译程序、汇编程序、编译程序、解释程序的区别与联系

    翻译程序.汇编程序.编译程序.解释程序的区别与联系 先总结一下:翻译就是包括编译与解释,翻译功能就是把程序转化为同等的更低级语言:编译跟解释作用的对象就是高级语言,汇编操作对应的是汇编语言,作用是汇编 ...

  7. 高级语言?编译程序?解释程序?目标代码?

    编译程序?解释程序? 编译程序解释程序啥作用?将高级语言翻译成可以目标代码,使得目标代码可以在机器上运行 高级语言? 作为一门高级语言,javascript肯定不能是在电脑上直接运行的,肯定有java ...

  8. 源程序、目标程序、汇编程序、编译程序、解释程序

    源程序.目标程序.汇编程序.编译程序.解释程序之间的关系 翻译程序是这样一种程序:它能把用甲种语言编写的程序翻译成在功能上与之等价的用乙种语言编写的程序.我们把甲种语言称为源语言,把乙种语言称为目标语 ...

  9. 翻译程序、编译程序和解释程序的区别和联系

    最近在复习编译原理的时候,就在第一章,发现了一个很有趣的知识点. 翻译程序是指这样一个程序,它把一种语言所写的源程序翻译成与之等价的另一种语言的目标程序. 编译程序是一种翻译程序,它把高级语言所写的源 ...

最新文章

  1. Zookeeper 在Hadoop中的应用
  2. maxthon在浏览的页面上右键按住不动再按滚轮可以对打开的选项卡进行选择!
  3. 环形数组最大子数组之和
  4. 禁止服务器的协议,启用或禁用服务器网络协议
  5. Swift 2.0初探:值得注意的新特性
  6. 外设驱动库开发笔记30:宇电AI-BUS通讯驱动
  7. 网络(13)-SYN flood及其应对方法
  8. python回车换行怎么不行_解决pycharm回车之后不能换行或不能缩进的问题
  9. tensorflow自定义op_TensorFlow 自定义模型导出:将 .ckpt 格式转化为 .pb 格式
  10. 人民邮电出版社图灵公司征求《Windows Communication Foundation Unleashed》译者
  11. (hdu 1568) Fibonacci
  12. 实习成长之路: MySQL三 : 事务隔离:为什么你改了我还看不见?
  13. 国仁网络资讯:抖音如何利用Dou+推广引流;dou+推广需要注意什么?
  14. Windows下的Rsync(cwRsync)
  15. jquery 实现考试倒计时
  16. 中国互联网老总的经典妙语语录
  17. [聊天机器人]:开源ChatterBot工作原理
  18. [转]深入理解RunLoop
  19. java的 内省机制_Java 内省机制
  20. 4.imx6 IPU代码详细分析

热门文章

  1. 产品设计体会(0013)产品经理应该是管理者么
  2. ‘data‘ hides member of supertype ‘BaseExpAdapter‘ and needs ‘override‘ modifier
  3. Spring Websocket 使用笔记
  4. NLP学习-1--语料预处理与向量空间,语料格式
  5. ctfshow密码easyrsa5
  6. BIT-Vehicle Dataset - 车辆车型识别数据集
  7. 笔记本电脑如何设置html输出,笔记本电脑如何外接显示器 外接显示器详细步骤【详解】...
  8. 计算机蓝屏无法启动代码50,win7系统出现蓝屏代码0x0000050怎么解决
  9. SDN相关组织——ONF
  10. python打造最全画地图,可视化数据