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

编译程序先将源代码转换为目标代码,然后运行;解释程序则逐句解释执行源代码,允许在执行期间修改。编译程序在运行阶段主要存储目标代码和数据,而解释程序在整个过程中源程序、符号表等需保留在存储区中。解释程序速度相对较慢,空间开销大。
摘要由CSDN通过智能技术生成

编译程序:编译和运行是分开的,但在一个交互环境中,并不需要将这两个阶段代码隔开。 

 解释程序:它不需要在运行前先把源程序翻译成目标代码,也可以实现在某台机器上运行程序并产生结果。

工作模式:接受某个语言的程序并立即运行这个源程序,是一个个的获取、分析并执行源程序语句,一旦第一个语句分析结束,源程序便开始运行并且产生结果。

      

编译程序和解释程序在存储组织也有很大不同:

编译程序:在源程序被编译的阶段,存储区中要为源程序(中间形式)和目标代码开辟空间、存放编译时用的各种表格。在目标代码运行阶段,存储区中主要是目标代码和数据,编译所用的任何信息都不在需要了。

解释程序:一般都是把源程序一个语句一个语句地进行语法分析,转换为一种内部表示形式存放在源程序区。解释程序允许在执行用户程序时修改用户程序,这就要求在解释程序工作的整个过程中,源程序、符号表等内容始终存放在存储区中,并且存放格式要设计得易于使用和修改。(解释程序速度慢,空间开销比较大

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值