编译型和解释型的区别
为什么要有编译型和解释型
计算机不能直接理解高级语言(Java、C、C++等),只能理解和运行机器语言(机器码,即二进制码)。必须要把高级语言翻译成机器语言,计算机才能运行高级语言所编写的程序。
翻译的方式有两种,一个是编译,一个是解释。
编译和解释都有翻译的意思,但是他们两个是不同的,最主要的区别就是翻译的时机不同。前者的源程序在编写完成后就进行翻译,之后即可在该平台运行;后者是在运行期间才翻译。所以前者运行速度快,后者跨平台性好。
编译型 (Compile)
用编译型语言写的程序执行之前,需要一个专门的编译过程,针对特定的平台,使用专门的编译器,把高级语言翻译成机器语言,以后直接运行而不需要再编译了,所以一般编译型语言的程序执行效率高。
特点
一次性的编译成平台相关的机器语言文件,运行时脱离开发环境,运行效率高;与特定平台相关,一般无法移植到其他平台。
代表语言
C、C++、Objective。
解释型 (Explain)
解释型语言在运行的时候才翻译成机器语言,每个语句都是执行时才翻译。每执行一次就要翻译一次,效率较低。可跨平台。
特点
每次运行都需要将源代码解释称机器码并执行,效率较低;只要平台提供相应的解释器,就可以运行源代码,所以可以方便源程序移