编译与解释的区别

简介: 编译与解释的区别

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

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

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


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

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

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


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

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

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


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

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

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

目录
相关文章
|
11月前
|
自然语言处理 编译器 C语言
软考:区分词法分析、语法分析、语义分析
本文解释了编译过程中的词法分析、语法分析和语义分析三个阶段的区别,并提供了相关练习题,帮助读者理解各阶段在编译过程中的作用和重要性。
567 4
|
Linux
挂载文件系统
文章详细介绍了Linux系统中使用mount命令挂载文件系统的方法和技巧,包括临时挂载、配置文件挂载、使用loop设备、挂载移动介质以及迁移"/home"目录到新分区的案例。
244 1
挂载文件系统
|
数据采集 存储 关系型数据库
基于python的中国气象局气象数据采集,可以作为数据集使用
本文介绍了一个基于Python的中国气象局气象数据采集项目,使用requests、lxml等技术将天气数据爬取并存储至MySQL数据库,可用于数据集创建。
1050 0
|
数据采集 存储 JavaScript
(2024)豆瓣电影TOP250爬虫详细讲解和代码
这是一个关于如何用Python爬取2024年豆瓣电影Top250的详细教程。教程涵盖了生成分页URL列表和解析页面以获取电影信息的函数。`getAllPageUrl()` 生成前10页的链接,而`getMoiveListByUrl()` 使用PyQuery解析HTML,提取电影标题、封面、评价数和评分。代码示例展示了测试这些函数的方法,输出包括电影详情的字典列表。
940 3
|
JavaScript Java 测试技术
基于springboot+vue.js的图书管理系统附带文章和源代码设计说明文档ppt
基于springboot+vue.js的图书管理系统附带文章和源代码设计说明文档ppt
206 1
|
NoSQL 算法 Shell
【C/C++ 调试 GDB指南 】详解 gdb 断点的设置方式
【C/C++ 调试 GDB指南 】详解 gdb 断点的设置方式
421 2
|
存储 供应链 数据可视化
一文带你认识医院信息化必备系统HIS、CIS、LIS、EMR、PACS、RIS等
医院信息系统的发展趋势是将各类医疗器械直接联机并将附近各医院乃至地区的医院信息系统联成网络。其中最关键的问题是使不同系统中的病历登记、检测、诊断指标等都要标准化。医院信息系统的高级阶段将普遍采用医疗专家系统,建立医疗质量监督和控制系统,进一步提高医疗水平和保健水平。
6915 0
一文带你认识医院信息化必备系统HIS、CIS、LIS、EMR、PACS、RIS等
|
SQL 数据可视化 数据库
Python中表格插件Tabulate的用法
Python中表格插件Tabulate的用法
914 0
|
算法 Python
【Python指南 | 第五篇】数据类型转换、函数、转义字符,这一篇就够了
【Python指南 | 第五篇】数据类型转换、函数、转义字符,这一篇就够了
301 0
|
算法 计算机视觉 Python
OpenCV中图像的自适应处理、Otsu方法讲解与实战(附Python源码)
OpenCV中图像的自适应处理、Otsu方法讲解与实战(附Python源码)
975 0