高级程序设计语言主要可以分为两类:编译执行的语言和解释执行的语言,对应的程序即为编译程序和解释程序,那么这两个之间的区别是什么呢?

根本区别

编译程序和解释程序的根本区别在于是否产生低级语言形式的目标程序。
编译程序在生成可执行文件之后,花费的时间就会比解释程序短,因为编译程序已经转换成低级语言形式了,而解释程序还需要重新先转换成低级语言形式,这就相当于多走了一段路程,花费的时间自然就会长一些。

编译程序

这里以C语言为例,首先我们编写的源程序的文件后缀名为.c文件,然后点击运行之后,首先进行预处理,这一步主要是处理宏定义,得到纯C文件,然后通过编译器处理,得到汇编程序.s文件,之后又通过汇编器处理,得到目标文件.o文件,最后通过链接器得到最终的.exe文件,之后我们只需要双击这个.exe文件就可以运行程序,因此在别人的电脑上就也可以运行了,当然如果不是Windows电脑,可能会需要进行一些环境的配置。
如下为GCC的处理过程:

解释程序

这里以Python为例,我们编写的源程序的文件后缀名为.py文件,然后执行的时候我们可以在IDE的控制台上看到各种信息,这也说明我们每次运行程序的时候,都是需要重新编译的。
如果用过Python,我相信应该有时候可能会碰到这种情况:我们拿着网上别人写的Python代码,然后在自己的电脑上运行的时候,有时候会无法运行,提示信息是说有一个库没有找到,这是因为我们自己的电脑上没有安装相应的库,所以有时候我们下载别人的代码的时候,需要先进行各种调试。

编译程序与解释程序的区别相关推荐

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

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

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

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

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

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

  4. 编译程序和解释程序有什么区别?

    1. 编译程序和解释程序的区别: 编译型是使用编译器编译后生成计算机硬件可直接执行的指令,解释型是在运行时才由解释器逐语句去执行. 编译型代表:C&C++,C#,Java,解释型代表:html ...

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

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

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

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

  7. 翻译程序和解释程序的区别

    翻译程序和解释程序的区别 解释程序 所谓解释程序是高级语言翻译程序的一种,它将源语言(如BASIC)书写的源程序作为输入,解释一句后就提交计算机执行一句,并不形成目标程序.就像外语翻译中的" ...

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

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

  9. 翻译程序,编译程序,解释程序和汇编程之间关系

    首先,翻译程序是指把一种语言编写的源程序翻译成与之等价的:另一种语言的目标程序. 翻译程序有两种:一种是编译程序,它将高级语言源程序一次性全部翻译成目标程序,每次执行程序时,只要执行目标程序.另一种是 ...

最新文章

  1. 【maven】 pom.xml内容没有错,但一直报错红叉 解决办法
  2. jQuery 1.9使用$.support替代$.browser的使用方法
  3. 面试官本拿求素数搞我,但被我优雅的“回击“了(素数筛)
  4. SQ 小车避障 Intel Realsense D435 基于线性梯度的深度值过滤
  5. python打地鼠游戏代码100行_PythonStudy_打地鼠游戏代码
  6. Spring-学习笔记09【JdbcTemplate的基本使用】
  7. SVM中的间隔最大化
  8. 的标题形状工具在哪里_一分钟教你做一款让人眼前一亮的标题!你想学吗?「Word技巧」...
  9. 百面机器学习——python实现二分类逻辑回归
  10. Java 实现万年历
  11. 5G垂直领域:华为智慧园区
  12. DCMTK实现Dicom CT图片读取CT值图像
  13. 374C. Inna and Dima
  14. Java核心常用API +JSD2103_SE 项目 + WebServer项目
  15. 很多人遇到问题:win10锁屏唤醒后程序全部关闭
  16. 【游戏设计模式】之 《游戏编程模式》全书内容提炼总结
  17. 基因注释 InterProScan的三种使用方法
  18. vs开发工具必备插件
  19. Lambda表达式使用具备条件
  20. Windows本地连接正常,上不去网的解决办法

热门文章

  1. EBC动作片 记录EBC 的 景 和 人
  2. 帕金森病会引起哪些并发症
  3. layui.form用ajax提交表单时的问题(巨坑)
  4. 微信快捷回复怎么设置?
  5. 二层交换机vlan单臂路由的配置
  6. 蓝桥杯刷题013——小猪存钱罐(并查集)
  7. csp计算机专业,中国计算机学会推出CSP非专业级别认证
  8. Acwing4269. 校庆
  9. 自动化测试总结报告模板
  10. mysql毕业生信息管理系统,本科毕业设计信息管理系统的设计(Struts,MySQL)