编译与解释的区别

简介: 编译与解释的区别

编译方式与解释方式都是语言处理程序

对编译方式而言,编译和运行是两个相互独立的阶段。

解释方式则不需要将这两个阶段分隔开,比较适用于交互式语言处理环境中。


编译方式与解释方式的根本区别在于是否生成目标代码

编译程序产生机器能识别的汇编或二进制代码。

解释程序则通过分析和执行语句后直接生成运行结果。


编译程序和解释程序的存储组织方式显著不同

对编译程序而言,在源语言程序被编译阶段,存储区中要为源程序(中间形式)和目标代码开辟空间,存放编译程序需要使用的各种各样表格,如符号表;在目标代码运行阶段,存储区中主要是目标代码和数据,编译所用的任何信息都不再需要。

而对解释程序而言,在整个工作过程中,源程序、符号表等内容始终存放在存储区中。


编译程序执行效率比解释程序高

因为解释程序需要逐行进行翻译,循环体需重复翻译;每遇变量,须从头开始检索变量表;若遇转向语句(Goto),需从头开始检索符号表等。

而编译程序不会出现上述三种情况,它是一次性翻译,可多次执行;编译过程中可向用户报告它检测到的一切错误。

目录
相关文章
|
4月前
|
存储 自然语言处理 编译器
C语言:编译和链接(从.c文件到输出结果的过程)
C语言:编译和链接(从.c文件到输出结果的过程)
|
4月前
|
JavaScript 前端开发 Java
静态语言和动态语言,解释和编译
静态语言和动态语言,解释和编译
57 1
|
11月前
|
存储 自然语言处理 编译器
程序编译和链接的过程/预处理符号和用法【C语言】
程序编译和链接的过程/预处理符号和用法【C语言】
60 0
|
11月前
|
存储 自然语言处理 算法
通过实际的例子,介绍编译器的工作过程
通过实际的例子,介绍编译器的工作过程
|
IDE Unix 编译器
关于编译的重要概念总结
关于编译的重要概念总结
3377 0
关于编译的重要概念总结
|
NoSQL Java 数据库
解释afterPropertiesSet方法的用处
解释afterPropertiesSet方法的用处
|
小程序 Java C语言
初学者编译的第一个小程序
## 前言 我们在往期的文章中讲到 1.JDK的下载 2.配置环境变量 3.数据类型 接下来我们就可以开始写小程序啦
92 0
初学者编译的第一个小程序
|
缓存 JavaScript Java
3分钟搞懂什么是编译执行和解释执行《轻松搞定大厂面试》
3分钟搞懂什么是编译执行和解释执行《轻松搞定大厂面试》
406 0
3分钟搞懂什么是编译执行和解释执行《轻松搞定大厂面试》