首页 > 编程知识 正文

编译型语言和解释型语言有哪些,解释型语言和编译型语言的特点和异同

时间:2023-05-04 06:40:31 阅读:201883 作者:1126

解释型语言和编译型语言的比较

解释型语言代表:PHP、JS、Python、Perl 和Shell。
编译型语言代表:C、C++、Golang

JAVA这门语言比较特使,它是通过jit compile(just in time compilation)先将.java编译成.class文件,然后被jvm,即Java Virtual Machine(Java虚拟机)“解释执行”,因此很多人将JAVA理解为半编译半解释型语言。

编译型语言,字面意思,就是必须先通过特殊的编译器,比如C、C++的gcc(GNU Compiler Collection)。

解释型语言,通过语言解释器,将代码按顺序解释并执行,可以想象成一台扫描仪扫描文件的过程。

优缺点:
编译型语言:
  优点:执行速度快。
  缺点:可移植性差,代码不支持跨平台,移植到其他平台需要重新编译,修改代码都需要重新编译。

解释型语言:
  优点:执行速度慢。
  缺点:可移植性好,代码可跨平台,修改代码不需要重新编译。

编译型语言由于先将程序代码编译成机器可以识别的机器码,因此执行效率更高,执行速度往往比解释型语言快数倍,而解释型语言就多了解释的过程(将代码解释成机器码),因此效率低。

编译型语言生成的目标文件是针对特定CPU体系,仅适用于特定ARM,这就是为什么移植到其他CPU上就需要适配,重新编译打包。
解释型语言的解释器实际上就是实现代码到底层的沟通的一个中间层,将机器无法理解的代码解释为目标CPU指令,因此具有跨平台特性。

简单总结:编译型语言在编译时就定死目标平台,将代码编译成目标平台可直接识别的底层指令,一步到位。解释型语言在运行过程中才生成目标平台的指令,需要经过解释器这个中间商交互,最终生成目标平台可直接识别的底层指令。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。