编译型和解释型的区别

您所在的位置:网站首页 go语言是编译型还是解释型 编译型和解释型的区别

编译型和解释型的区别

2023-09-10 15:39| 来源: 网络整理| 查看: 265

编译型和解释型的区别 为什么要有编译型和解释型

计算机不能直接理解高级语言(Java、C、C++等),只能理解和运行机器语言(机器码,即二进制码)。必须要把高级语言翻译成机器语言,计算机才能运行高级语言所编写的程序。

翻译的方式有两种,一个是编译,一个是解释。

编译和解释都有翻译的意思,但是他们两个是不同的,最主要的区别就是翻译的时机不同。前者的源程序在编写完成后就进行翻译,之后即可在该平台运行;后者是在运行期间才翻译。所以前者运行速度快,后者跨平台性好。

编译型 (Compile)

用编译型语言写的程序执行之前,需要一个专门的编译过程,针对特定的平台,使用专门的编译器,把高级语言翻译成机器语言,以后直接运行而不需要再编译了,所以一般编译型语言的程序执行效率高。

特点

一次性的编译成平台相关的机器语言文件,运行时脱离开发环境,运行效率高;与特定平台相关,一般无法移植到其他平台。

代表语言

C、C++、Objective。

解释型 (Explain)

解释型语言在运行的时候才翻译成机器语言,每个语句都是执行时才翻译。每执行一次就要翻译一次,效率较低。可跨平台。

特点

每次运行都需要将源代码解释称机器码并执行,效率较低;只要平台提供相应的解释器,就可以运行源代码,所以可以方便源程序移植。

代表语言

JavaScript、Python。

场景

编译型:程序执行速度快,同等条件下对系统要求较低,像开发操作系统、大型应用程序、数据库系统等时都采用它。 解释型:一些网页脚本、服务器脚本及辅助开发接口这样的对速度要求不高、对不同系统平台间的兼容性有一定要求的程序。

Java是编译型还是解释型

Java是一种兼具编译和解释特性的语言,.java文件会先被编译成与平台无关的.class文件(字节码文件),这个过程是编译。但是.class文件还是无法被计算机直接识别,仍然需要JVM进行翻译成机器语言,这个过程则是解释。 所以可是说java即是编译型的,也是解释型,但是假如非要归类的话,从概念上的定义,恐怕java应该归到解释型的语言中。 所以严格意义上来说,Java是一种解释型语言。 在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3