编译与解释的区别

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

对编译方式而言,编译和运行是两个相互独立的阶段。
解释方式则不需要将这两个阶段分隔开,比较适用于交互式语言处理环境中。

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

编译程序产生机器能识别的汇编或二进制代码。
解释程序则通过分析和执行语句后直接生成运行结果。

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

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

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

因为解释程序需要逐行进行翻译,循环体需重复翻译;每遇变量,须从头开始检索变量表;若遇转向语句(Goto),需从头开始检索符号表等。
而编译程序不会出现上述三种情况,它是一次性翻译,可多次执行;编译过程中可向用户报告它检测到的一切错误。

  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Kuo-Teng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值