编译系统和解释系统

注:该文章摘抄于:http://blog.csdn.net/abc006250/article/details/7852065

汇编程序:将汇编语言的源程序翻译成机器指令和其他信息组成的目标程序。
编译程序:将高级语言编写的源程序编译成用机器语言表示的与之等价的目标程序,然后计算机再执行该程序,取得目标结果。
优势:产生目标代码,执行速度快于解释程序。
解释程序:直接执行源程序或源程序的内部形式,一般是一句一句的读源程序,翻译一句,执行一句,不产生目标代码。
优势:人机交互效果好,适合初学者。

解释:程序运行时,取一条指令,将其转换成机器指令,再执行这条机器指令。
编译:程序运行时之前,将程序的所有的代码编译为机器代码,再运行这个程序。

编译型语言:编译是指在应用源程序执行之前,就将程序源代码“翻译”成目标代码(机器语言),使其可以脱离其语言环境独立执行,使用比较方便、效率较高。但应用程序一旦需要修改,必须先修改源代码,再重新编译生成新的目标文件才能执行,只有目标文件而没有源代码,修改很不方便。C、C++等。

解释型语言:解释型语言,翻译器并不产生目标机器代码,而是产生易于执行的中间代码,这种中间代码与机器代码是不同的,中间代码的解释是由软件支持的,不能直接使用硬件,软件解释器通常会导致执行效率较低。用解释型语言编写的程序是由另一个可以理解中间代码的解释程序执行的。与编译程序不同的是,解释程序的任务是逐一将源程序的语句解释成可执行的机器指令,不需要将源程序翻译成目标代码后再执行。解释程序的优点是当语句出现语法错误时,在程序开发期间就能进行校正,因为是逐句运行,所以哪一句出现问题会更加方便修改。 JavaScript等

Java比较特殊,编译成字节码,再在虚拟机上用解释方式执行字节码。

你可能感兴趣的:(编译系统和解释系统)