解释执行的语言相比编译执行的语言有什么优缺点?

本文探讨了编译和解释两种程序执行方式的优缺点,分析了它们在平台兼容性、执行效率和开发速度上的差异。编译执行适用于追求效率和资源占用小的复杂程序,而解释执行则在开发速度和跨平台方面具有优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        程序有语句或指令组成,计算机只能执行低级语言中的指令(汇编语言的指令要先转成机器码才能执行),

高教语言要执行就必须翻译成低级语言,翻译的方法有两种:编译和解释,虽然有这样的不便,但高级语言有一个

好处就是平台无关性。平台这个词有很多种解释,可以指计算机体系结构(Architecture),也可以指操作系统(Operating

System),也可以指开发平台(编译器、链接器等)。不同的计算机体系结构有不同的指令集(Instruction Set),可以识别的机

器指令格式是不同的,直接用某种体系结构的汇编或机器指令写出来的程序只能在这种体系结构的计算机上运行,然而各种体系结

构的计算机都有各自的C编译器,可以把C程序编译成各种不同体系结构的机器指令,这意味着用C语言写的程序只需稍加修改甚至

不用修改就可以在各种不同的计算机上编译运行。

 

解释执行的语言:

优点:

1.解释执行不依赖于平台,因为编译器会根据不同的平台进行解析

2.开发速度快,出现严重BUG的几率小

缺点:

1.解析需要时间,不生成目标而是一句一句的执行的方式会造成计算机资源的浪费,即执行效率低。

2.解释语言还有一个硬伤就是源代码必须交给用户

 

编译执行的语言:

优点:

1.相比解释执行编译执行效率高,占用资源小,适合复杂程序。

缺点:

兼容性差,例如windows平台上写的编译程序一般不可以unix平台上运行。当然,如果只是简单的scanf,printf是可以的,但是像指针,内存分配,文件操作,多线程等,在一些相对复杂的系统问题就严重了。 更可怕的是拿源码到unix环境下编译通过了,但是运行却出问题,这种问题最要人命。 所以一般的做法都是这个程序会用在什么系统,就到什么系统环境去开发。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值