编译型和解释型的区别 |
您所在的位置:网站首页 › go语言是编译型还是解释型 › 编译型和解释型的区别 |
编译型和解释型的区别
为什么要有编译型和解释型
计算机不能直接理解高级语言(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 |