编译型语言与解释型语言

编译型语言与解释型语言

编译型语言:
  1. 编译型语言是指高级语言编写成的源代码,在某操作系统等平台的相应编译器上进行一次性编译后,生成该平台能直接识别的机器语言代码。编译后代码能脱离开发环境,在同种平台上运行,无需再次编译。
    运行程序执行速度主要取决于源程序代码。
  2. 代表性语言:C 、C++、Objective-C、Pascal 等
  3. 优点:
    一次性编译,脱离开发环境运行,执行效率高
    缺点:
    针对特定平台编译后的代码,难以在其他平台正常运行。如kali linux下编译好的C文件不能在Ubuntu 上运行;64位Ubuntu编译好的代码,不能在32位Ubuntu上运行。
解释型语言:
  1. 解释性语言是指某一平台通过相应的解释器将源程序逐行解释成平台可识别的机器语言代码并立马执行,即边解释源代码边执行机器码
    运行程序执行速度主要取决于解释器及源程序代码。
  2. 代表性语言:HTML、XML、Javascript、python等
  3. 优点:
    跨平台性好,源代码可以在不同平台上通过解释器,解释执行
    缺点:
    每次运行,都需要将源代码进行逐行解释执行,执行效率低。

java语言利用了两者的优点,将java源代码.java文件,一次性编译成.class文件,在不同平台上使用不同的java虚拟机(JVM)解释运行,实现跨平台,可移植性好,运行速度也快。

更详细请见本文参考资料:
https://www.jianshu.com/p/54e2aeca013b
http://c.biancheng.net/view/4136.html

(注:本人菜鸡,个人见解,如有错误,欢迎评论指出)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值