编译型语言与解释型语言

参考:http://jingyan.baidu.com/article/656db918ede71ee381249c05.html##1

计算机是不能理解高级语言的,更不能直接执行高级语言,它只能直接理解机器语言,所以使用任何高级语言编写的程序若想被计算机运行,都必须将其转换成计算机语言,也就是机器码。

而这种转换的方式有两种:

1)编译

2)解释

由此高级语言也分为编译型语言和解释型语言。

编译型语言:

使用专门的编译器,针对特定的平台,将高级语言源代码一次性的编译成可被该平台硬件执行的机器码,并包装成该平台所能识别的可执行性程序的格式。

特点:

在编译型语言写的程序执行之前,需要一个专门的编译过程,把源代码编译成机器语言的文件,如exe格式的文件,以后要再运行时,直接使用编译结果即可,如直接运行exe文件。因为只需编译一次,以后运行时不需要编译,所以编译型语言执行效率高。

总结:

1)一次性的编译成平台相关的机器语言文件,运行时脱离开发环境,运行效率高;

2)与特定平台相关,一般无法移植到其他平台;

3)现有的C、C++、Objective等都属于编译型语言。

解释型语言:

使用专门的解释器对源程序逐行解释成特定平台的机器码并立即执行。

特点:

解释型语言不需要事先编译,其直接将源代码解释成机器码并立即执行,所以只要某一平台提供了相应的解释器即可运行该程序。

总结:

1)解释型语言每次运行都需要将源代码解释称机器码并执行,效率较低;

2)只要平台提供相应的解释器,就可以运行源代码,所以可以方便源程序移植;

3)Python等属于解释型语言。

时间: 2024-10-13 01:01:09

编译型语言与解释型语言的相关文章

编译型语言、解释型语言、静态类型语言、动态类型语言概念与区别

最近在研究Python和Erlang.反复提到动态类型语言.动态语言.解释型语言这些概念.这些概念很生涩,在这里做一个总结. 编译型语言和解释型语言 1.编译型语言 需通过编译器(compiler)将源代码编译成机器码,之后才能执行的语言.一般需经过编译(compile).链接(linker)这两个步骤.编译是把源代码编译成机器码,链接是把各个模块的机器码和依赖库串连起来生成可执行文件. 优点:编译器一般会有预编译的过程对代码进行优化.因为编译只做一次,运行时不需要编译,所以编译型语言的程序执行

动态语言和静态语言、编译型语言和解释型语言、强类型语言和弱类型语言的分析

一.动态语言和静态语言1. 我们常说的动.静态语言,通常是指: 动态类型语言 Dynamically Typed Language 静态类型语言 Statically Typed Language 可能还有:动.静态编程语言 Dynamic\Statically Programming Language 2.    动态类型语言:在运行期间检查数据的类型的语言例如:Ruby\Python这类语言编程,不会给变量指定类型,而是在附值时得到数据类型.Python是动态语言,变量只是对象的引用,变量a

【转载】编译型语言、解释型语言、静态类型语言、动态类型语言概念与区别

编译型语言和解释型语言 1.编译型语言 需通过编译器(compiler)将源代码编译成机器码,之后才能执行的语言.一般需经过编译(compile).链接(linker)这两个步骤.编译是把源代码编译成机器码,链接是把各个模块的机器码和依赖库串连起来生成可执行文件. 优点:编译器一般会有预编译的过程对代码进行优化.因为编译只做一次,运行时不需要编译,所以编译型语言的程序执行效率高.可以脱离语言环境独立运行. 缺点:编译之后如果需要修改就需要整个模块重新编译.编译的时候根据对应的运行环境生成机器码,

编译型语言,解释型语言,静态语言,动态语言概念

编译语言和解释语言 1.编译语言: 需要通过编译器(compiler)将源代码编译成机器码,之后才能执行的语言. 一般需经过编译,链接两个步骤: 编译:把原代码编译成机器码 链接:把各个模块和依赖库串起来生成可执行文件. 优点: 编译器一般会有预编译的过程对代码进行优化.因为编译只做一次,运行时不需要编译,所以编译型语言的程序执行效率高.可以脱离语言环境独立运行. 缺点: 编译之后如果需要修改就需要整个模块重新编译.编译的时候根据对应的环境生成机器码,不同的操作系统之间移植会有问题,需要根据运行

编译型语言与解释型语言的区别及各自的优缺点

计算机编程语言种类非常多,根据与计算机硬件贴近程度和抽象程度大致可分为3类,自顶向下分别是 : 高级语言(抽象层次更高的便于记忆和表示的英文代码) | 汇编语言(抽象层次较高的对应机器硬件的cpu指令集,英文缩的助记 符号代码) | 机器语言(抽像层次最低的由0.1序列所表示的机器码) 众所周知,计算机底层只能识别(并执行)0.1序列的机器码,这表示所有的高级编程语言所编写的代码,最终都要以某种方式被转换成能被计算机识别的0.1序列机器码,方可被计算机接受并执行.这种将代码转换为机器码的方式可分

编译型语言和解释型语言的区别

一.编译型 编译型语言:编译型语言在执行之前要先经过编译过程,编译成为一个可执行的机器语言的文件,比如exe.因为翻译只做一遍,以后都不需要翻译,所以执行效率高. 编译型语言的典型代表:C语言,C++ 编译型语言的优缺点:执行效率高,缺点是跨平台能力弱.不便调试 二.解释型 解释型语言:解释性语言编写的程序不进行预先编译,以文本方式存储程序代码.执行时才翻译执行.程序每执行一次就要翻译一遍. 代表语言:python,JavaScript 优缺点:跨平台能力强,易于调.执行速度慢. 原文地址:ht

编译型语言和解释型语言的简单介绍

一.编译型语言 编译型语言是指使用专门的编译器,针对特定平台(操作系统)将某种高级语言源代码一次性“翻译”成可被该平台硬件执行的机器码(包括机器指令和操作数),并包装成该平台所能识别的可执行性程序的格式,这个转换过程称为“编译”.编译生成的可执行性程序可以脱离开发环境,在特定的平台上独立运行. 因为编译型语言是一次性低编译成机器码,所以可以脱离开发环境独立运行,而且通过运行效率较高:但因为编译型语言的程序被编译成特定平台上的机器码,因为编译生成的可执行性程序通常无法移植到其他平台上运行:如果需要

编译型语言和解释型语言优缺点对比及语言简介

众所周知,计算机底层只能识别(并执行)0.1序列的机器码,这表示所有的高级编程语言所编写的代码,最终都要以某种方式被转换成能被计算机识别的0.1序列机器码,方可被计算机接受并执行.这种将代码转换为机器码的方式可分为编译型和解释型这2类: 概念: 编译型语言:把做好的源程序全部编译成二进制代码的可运行程序.然后,可直接运行这个程序(一次性将源文件编译成机器码二进制的可执行的目标文件). 解释型语言:把做好的源程序翻译一句,然后执行一句,直至结束(多次编译成中间代码最后通过环境软件进行执行)! 编译

解释型语言和编译型语言、弱类型语言和强类型语言、动态语言和静态语言的区别

计算机是不能理解除了机器语言以外的任何语言所以必须要把程序员所写的程序语言都翻译成机器语言才能执行程序.程序语言翻译成机器语言的工具,叫做翻译器. 编程语言  ————> 翻译器  ————> 计算机语言(二进制) 翻译器翻译的方式有两种:一是 编译,二是 翻译.两种方式之间对区别在于翻译的时间点不同. 编译器:是在代码执行之前进行编译,生成中间代码文件 解释器:是在运行时进行及时解释,并立即执行(当编译器以解释方式运行的时候,也称之为解释器) 举个栗子: 编译型语言:就像是请客的时候要先把所