当前位置:首页 » 编程软件 » 编译性语言的执行方式主要特点

编译性语言的执行方式主要特点

发布时间: 2022-11-22 06:40:16

Ⅰ 关于“编译型语言”和“解释性语言”的区别

1、程序控制权不同:

对于解释性语言而言,程序运行时的控制权在解释器(jre,.net)而不再用于程序。编译型语言对于编译器而言,运行时的控制权在用户程序。

2、运行速度不同:

一些网页脚本,服务器脚本以及辅助开发接口这样的对速度要求不高,对不同系统的兼容性有一定要求的程序则通常使用解释性语言,如java、JavaScript、VBScript、Perl、python、Ruby、Matlab等等。

编译语言由于程序执行速度快,同等条件下对系统的要求比较低,因此像开发操作系统、大型应用程序、数据库系统等时都采用它,像C/C++,Pascal/Object Pascal(Delphi)等都是编译型语言。

3、移植性不同:

解释型语言,例如Java语言,Java程序首先通过编译器编译成class文件,如果在Windows平台上运行,则通过Windows平台上的Java虚拟机(VM)进行解释。如果运行在linux平台上,则通过Linux平台上的Java虚拟机进行解释执行。

所以说能跨平台,前提是平台上必须要有相匹配的Java虚拟机。如果没有Java虚拟机,则不能进行跨平台。

编译型语言,例如c语言,用C语言开发程序后,需要通过编译器把程序编译成机器语言(即计算机可以识别的二进制文件,因为不同的操作系统识别的二进制文件是不同的),所以C语言程序进行移植后,需要重新编译(如Windows编译成ext文件,Linux编译成erp文件)。

Ⅱ 解释型语言和编译型语言的区别是什么

一、编译型

编译型语言:编译型语言在执行之前要先经过编译过程,编译成为一个可执行的机器语言的文件,比如exe。因为翻译只做一遍,以后都不需要翻译,所以执行效率高。

编译型语言的典型代表:C语言,C++。

编译型语言的优缺点:执行效率高,缺点是跨平台能力弱,不便调试。

二、解释型

解释型语言:解释性语言编写的程序不进行预先编译,以文本方式存储程序代码。执行时才翻译执行。程序每执行一次就要翻译一遍。

代表语言:python,JavaScript。

优缺点:跨平台能力强,易于调,执行速度慢。

编译型与解释型,两者各有利弊

前者由于程序执行速度快,同等条件下对系统要求较低,因此像开发操作系统、大型应用程序、数据库系统等时都采用它,像C/C++、Pascal/Object Pascal(Delphi)等都是编译语言。

而一些网页脚本、服务器脚本及辅助开发接口这样的对速度要求不高、对不同系统平台间的兼容性有一定要求的程序则通常使用解释性语言,如Java、JavaScript、VBScript、Perl、Python、Ruby、MATLAB等等。

Ⅲ 程序执行的两种方式是什么分别是如何进行的,各有什么特点

解释执行和编译执行
编译方式是指利用事先编好的一个称为编译程序的机器语言程序,作为系统软件存放在计算机内,当用户将高级语言编写的源程序输入计算机后,编译程序便把源程序整个地翻译成用机器语言表示的与之等价的目标程序,然后计算机再执行该目标程序,以完成源程序要处理的运算并取得结果。
解释方式是指源程序进入计算机后,解释程序边扫描边解释,逐句输入逐句翻译,计算机一句句执行,并不产生目标程序。
前者过程简单,后者执行速度快

Ⅳ 什么是编译型语言

编程语言分为编译型和解释型语言。编译语言是在程序执行完进行编译得到可执行文件的这样一种语言,解释性语言不需要编译,用专门的解释器进行解释。

Ⅳ 计算机程序设计语言分为四类

计算机程序设计语言分为四类

为了让计算机解决实际问题,人们从一开始就不断地开展程序设计工作,这里的“程序”就是计算机能够执行的指令代码(机器码和其它代码)。程序设计人员还必须在一个被称为“计算机程序设计语言(也可以称为编译或解释性语言)”的环境中开展编程。

计算机程序设计语言

是指程序设计人员和计算机都可以识别的程序代码(包括0和1机器代码)规则,是人与计算机进行交流的工具,可以把程序设计语言分为以下四类。

1.机器语言

机器语言是一种CPU指令系统, 被称为CPU的机器语言, 它是CPU可以识别的一组由0和1序列构成的指令码。用机器语言编程序, 就是从所使用的CPU的指令系统中挑选合适的指令,组成一个指令序列。这种程序可以被机器直接理解并执行,速度很快,但由于不直观、难记、难以理解、不易查错、开发周期长,很难推广应用下去,因此,只有专业人员在编制对于执行速度有很高要求的程序时才采用这种代码。

2.汇编语言

为了减轻编程者的劳动强度,人们使用一些用于帮助记忆的符号来代替机器语言中的0、1机器指令代码序列,使得编程效率和质量得到极大的提高。把这些助记符组成的指令系统称为汇编语言。汇编语言是指令与机器语言指令基本上是一一对应的。由于这些助记符号不能被机器直接识别,所以汇编语言代码程序必须被编译成机器语言程序才能被机器理解和执行。编译之前的程序被称为“源程序”,编译之后的被称为“目标程序”。

汇编语言与机器语言都是因CPU的不同而不同, 所以统称为“面向机器的语言”。使用这类语言,可以编出效率极高的程序,但对程序设计人员的要求也很高。他们不仅要考虑解题思路,还要熟悉机器的内部结构,一般的人很难掌握这类程序设计语言,还是不能大范围推广应用。

3.面向过程的语言

面向过程思想是一种以过程为中心的编程思想,是以什么正在发生为主要目标进行编程。面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。

把解题的过程看做是数据被加工的过程,这种程序设计语言称为面向过程的程序设计语言。常用的面向过程的语言有C、Fortran、Basic、Pascal等。使用这类编程语言,程序设计者可以不关心机器的内部结构甚至工作原理,把主要精力集中在解决问题的思路和方法上。这类摆脱了硬件束缚的程序设计语言被统称为高级语言。高级语言的出现大大地提高了编程效率,使人们能够开发出越来越大、功能越来越强的程序。要运行使用面向过程语言编制的程序,一般有两种方法:(1)解释型,(2)编译型。

解释型语言在程序编制完成之后,按照程序编排的顺序一条条地把指令语句转换为机器代码然后执行。因为每次运行中每条语句都要进行转换和执行这两个步骤,所以解释型语言的执行速度不快,并且每次执行都离不开语言环境。

编译型语言在程序设计完成之后,使用语言本身提供的编译(Compile)程序与连接(Link)程序把源程序编译连接成为可执行文件(扩展名一般为“.exe”)。可执行文件就能脱离语言设计环境独立运行了。当前比较流行的程序设计语言多数是编译型的。也有些语言既可以解释型地运行程序,也可以对程序进行编译连接。

解释型运行往往用在程序的调试过程中,而设计完成之后就可以把它编译成为独立的可执行文件。

计算机只能识别0、1,并不能能识别其他的语言。程序员在开发的时候,可以使用很多种语言,如c语言,java,python。使用不同的语言开发出来的程序,如果想要执行,那么最终必须要变成机器语言才能执行。那怎么样变成机器语言,我们大家可以找一个翻译。这个翻译就专门负责把编写的代码翻译成机器能够识别的机器语言,叫做编译器,不同的编译器,就负责把不同的语言翻译成计算机能够识别的机器语言来,这个就是编译器的作用。

根据编译器对源代码翻译的方式不同,编译器分成两种类型,一种类型叫编译器。而另一种类型叫做解释器。

使用编译器编译的语言,通常称为编译性语言,而使用解释器解释的语言叫做解释性语什么又是编译性语言,什么又是解释性语言?

这两种语言到底是怎么工作的?最典型的代表就是C语言、C 这种语言都叫做编译性语言。编译性语言是怎么工作的,人们来看c语言或者C 的程序在自己的开发环境内来编写代码。那当程序开发完成之后,成员就把开发完成的源代码统一交给编译器。编译器对所有源代码进行翻译。翻译成机器语言,并且最终保存成一个可执行的文件,当我们需要执行这个文件的时候,在windows下最常见的操作就是双击一下可执行文件的图标,就可以把这个文件交给CPU去执行。编译性语言的特点,程序员在自己的开发环境内开发程序开发完成之后,统一交给编译器。编译器统一进行翻译,并且最终生成一个独立的可执行文件。用户在需要的时候,就可以执行可执行文件看到最终的效果。

解释性语言的特点,python语言就是一个解释性语言,那解释性语言在开发的时候,跟编译性语言并没有太大的区别,成员仍然是在自己的开发环境内来编写代码。假设现在写了三行代码,那这三行代码怎么运行啊?要想运行解释性语言,我们就把这个源程序丢给解释器。解释器拿到源程序之后,会按照从上向下的方式逐一读取代码中央解释器称一行一行来翻译的。首先读出第一行代码,就立刻翻译成机器码。翻译完成之后,就丢给CPU去执行CPU在执行的过程中,解释器在读取第二行代码进行翻译。翻译完成之后,再交给CPU去执行,然后依次类推,从上到下一次读取每行代码读取一行。翻译一行执行一行。

编译性语言是统一编译一次性执行。

解释性语言是一行一行代码进行翻译,翻译一行执行一行,编译性语言最终产生的文件执行速度快,解释性语言执行速度慢。因为最终生成的可执行文件中不需要任何的介入。

解释性语言不同。解释语言在执行的时候,必须是翻译一行执行一行。解释性语言的执行速度就相对慢一些,需要考虑的因素就所谓跨平台,就是我们开发完成的程序,既可以在windows上运行,也可以在linux上运行,还可以在MAC上运行一次编写在任何一个平台上都能运行,这种方式就叫做跨平台。

如果我们使用的编译器是在windows平台上编译的程序,那么最终生成的可执行文件只能在windows平台上运行,它并不能够在linux上运行,并不能也不能在MAC上运行,这个是编译性语言的特点。如果使用某一个操作系统的编译器,那么,这个编译器最终生成的可执行文件就只能在这个操作系统上运行,而不能在其他操作系统上运行。

解释性语言相对来说就简单了,程序员仍按照习惯的方式来编写代码,程序编写完成之后,如果想要执行,如果是windows,就在windows上安装一套windows的解释器,如果想在linux上执行呢,就在linux上安装一套linux的解释器,就是在不同的操作系统上安装不同的解释器。既然在每个操作系统上都已经安装了解释器,那源代码就不需要任何的修改。这个就是解释性语言在跨平台上的优势。至于程序的执行是解释器的工作,只需要在不同操作系统中安装不同的解释器同一份代码就可以在不同操作系统中执行了。

开发完成的源程序要想执行,就必须找一个翻译性语言要找的翻译叫做编译器,解释性语言要找的翻译叫做解释器,而从执行效率上讲,编译性语言执行效率要比解释性语言执行效率高,但是从跨平台来讲解释性语言跨平台能力要比边形语言跨平台能力要强好。

4.面向对象的程序设计语言

随着像Windows这样具有图形用户界面的操作系统的广泛使用,人们又形成了一种面向对象的程序设计思想。这种思想把整个现实世界或是其一部分看做是由不同种类对象(Object)组成的有机整体。同一类型的对象既有共同点,又有各自不同的特性。各种类型的对象之间通过发送消息进行联系,消息能够激发对象做出相应的反应,从而构成了一个运动的整体。采用了面向对象思想的程序设计语言就是面向对象的程序设计语言,当前使用较多的面向对象语言有Visual_Basic、C++、Java等。

面向对象语言:是一类以对象作为基本程序结构单位的程序设计语言,指用于描述的设计是以对象为核心,而对象是程序运行时刻的基本成分。面向对象语言:系统中的基本构件可识认为一组可识别的离散对象,在基本层次关系的不同类中共享数据和操作。

Python是一个完全面向对象的语言,那什么又是面向对象?

面向对象是一种思维方式,同时也是一门程序设计技术。程序员每天的工作是使用自己熟悉的语言来解决一个又一个问题,那在解决问题的时候,有两种方式,第一种方式要解决这个问题,自己一步一步把这个问题解决掉,自己来逐步的解决一个问题。第二种方式就是面向对象的这种解决问题的方法,用面向对象来解决一个问题的时候,通常我们要首先考虑由谁(这里指对象,而其具备解决该问题能力)来做。找一个别人来帮助自己做事情,而我们找到了这个对象,已经具备了解决这个问题的能力。这个对象做完之后,问题也同样得到了解决。这个就是面向对象的解决方法。

第一种方式自己逐步来解决问题的每一个步骤,第二种方式我们来找一个对象替自己做事情,对象又具有做这件事情的能力。

如果开发程序,当然更倾向于第二种方式。找个对象来完成,这个思路就是面向对象的思维方式。在做事情的时候,找一个具有能力的对象,帮我们把问题解决掉就好了。这个就是从思维方式角度所谓面向对象的概念。

python是一个完全面向对象的语言。在python中,无论是函数,模块,数字以及字符串等等等等,全部都是对象。在python中所有的东西都是对象,python这门语言中已经提供有各种各样,具有很强大能力的对象。在工作中遇到不同的问题,就找不同的对象来帮我们解决问题就可以。这个是python面向对象语言的一个特点,同时大家在看第二个特点。Python应用一个强大的标准库,所以强大的标准库在python这门语言中已经内置有非常非常多,是具有强大能力的对象。当在开发时遇到不同的问题,可以在标准库中来找不同的对象,帮我们把问题解决掉就好,在python的标准库中提供有类似于系统管理,网络文本处理等,它的功能还是非常强大的。第三个特点:Python社区提供了大量的第三方模块,什么又是第三方模块?所谓第三方模块就是跟标准库类似的一个库,但是第三方模块并不是由官方来开发的,而是由网络上非常非常多python爱好者来开发的。那这些爱好者为什么要开发第三方模块原因很简单,因为标准估虽然很强大,但是标准库的力量有限,而全世界有非常多的python爱好者以及开发团队或者公司。针对当今市场上最主流的一些应用技术开发有非常多的模块,把自己开发好的这些模块开源出来。这些模块都涉及到哪些领域,分别包括有科学计算,人工智能机器学习,以及web开发大数据等。在python社区中有大量的第三方模块,而这些第三方模块在使用的,基本的方式是跟标准库类似的,python这门语言既有一个能力非常强大的标准库,又有一个非常非常丰富的第三方模块。那么,作为python的成员在开发的时候是不就非常容易了。面向对象的思维方式,就是在做事情之前,先找一个具有能力的对象,帮我们来解决问题。而python的标准库也好。Python第三方模块也好,实际上内置有大量的具有强大能力的对象,我们在使用python进行日常开发时,只需要从标准库中或者第三方模块中找到。能够帮我们解决问题的对象,并且使用对象已经具有的能力,通常就可以快速的把我们日常开发中需要解决的问题搞定了,Python提供有强大的标准库和第三方模块。在开发时,只需要找到相应具有能力的对象,就可以解决日常工作中遇到的问题了。

程序设计语言的支持环境

操作系统是计算机最重要的一类软件,其他程序的运行都要在操作系统支持与控制下进行。设计者编制的源程序并不能直接操作计算机,而要在要具体的程序设计语言的支持下通过操作系统来完成。它们之间如何相互配合,因语言、操作系统、计算机硬件的不同而不同。大多数情况下,编程人员没必要关心程序每一个细节。

Ⅵ 解释性语言和编译性语言各有什么优缺点

最简单的区别就是,
解释性语言是边解释,边执行,它依赖于一个解释器。执行速度比较慢
编译性语言,是编译成,计算机可执行的二进制代码,直接运行,执行速度比较快,

Ⅶ 什么是编译性语言、解释性语言和脚本语言

编译型语言:
编译是指在应用源程序执行之前,就将程序源代码“翻译”成目标代码(机器语言),因此其目标程序可以脱离其语言环境独立执行,使用比较方便、效率 较高。但应用程序一旦需要修改,必须先修改源代码,再重新编译生成新的目标文件(* .OBJ)才能执行,只有目标文件而没有源代码,修改很不方便。现在大多数的编程语言都是编译型的。编译程序将源程序翻译成目标程序后保存在另一个文件中,该目标程序可脱离编译程序直接在计算机上多次运行。大多数软件产品都是以目标程序形式发行给用户的,不仅便于直接运行,同时又使他人难于盗用其中的技术C、C++、Fortran、Visual Foxpro、Pascal、Delphi、Ada都是编译实现的。

解释型语言:
解释型语言的实现中,翻译器并不产生目标机器代码,而是产生易于执行的中间代码,这种中间代码与机器代码是不同的,中间代码的解释是由软件支持的,不能直接使用硬件,软件解释器通常会导致执行效率较低。用解释型语言编写的程序是由另一个可以理解中间代码的解释程序执行的。与编译程序不同的是,解释程序的任务是逐一将源程序的语句解释成可执行的机器指令,不需要将源程序翻译成目标代码后再执行。释程序的优点是当语句出现语法错误时,可以立即引起程序员注意,而程序员在程序开发期间就能进行校正。对于解释型Basic语言,需要一个专门的解释器解释执行 Basic程序,每条语言只有在执行才被翻译。这种解释型语言每执行一次就翻译一次,因而效率低下。一般地,动态语言都是解释型的,如Tcl、Perl、Ruby、VBScript、 JavaScript等。

脚本语言又被称为扩建的语言,或者动态语言,是一种编程语言,用来控制软件应用程序,脚本通常以文本(如ASCII)保存,只在被调用时进行解释或编译。

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

编译型语言在程序执行之前,有一个单独的编译过程,将程序翻译成机器语言就不用再进行翻译了。

解释型语言,是在运行的时候将程序翻译成机器语言,所以运行速度相对于编C/C++ 等都是编译型语言,而Java,C#等都是解释型语言。

虽然Java程序在运行之前也有一个编译过程,但是并不是将程序编译成机器语言,而是将它编译成字节码(可以理解为一个中间语言)。
在运行的时候,由JVM将字节码再翻译成机器语言。
注:脚本语言一般都有相应的脚本引擎来解释执行。 他们一般需要解释器才能运行。JAVASCRIPT,ASP,PHP,PERL,Nuva都是脚本语言。C/C++编译、链接后,可形成独立执行的exe文件。

编译型语言:

  • 编译型语言最大的优势之一就是其执行速度。用C/C++编写的程序运行速度要比用Java编写的相同程序快30%-70%。

  • 编译型程序比解释型程序消耗的内存更少。

  • 不利的一面——编译器比解释器要难写得多。

  • 编译器在调试程序时提供不了多少帮助——有多少次在你的C语言代码中遇到一个“空指针异常”时,需要花费好几个小时来明确错误到底在代码中的什么位置。

  • 可执行的编译型代码要比相同的解释型代码大许多。例如,C/C++的.exe文件要比同样功能的Java的.class文件大很多。

  • 编译型程序是面向特定平台的因而是平台依赖的。

  • 编译型程序不支持代码中实现安全性——例如,一个编译型的程序可以访问内存的任何区域,并且可以对你的PC做它想做的任何事情(大部分病毒是使用编译型语言编写的)

  • 由于松散的安全性和平台依赖性,编译型语言不太适合开发因特网或者基于Web的应用。

  • 解释型语言:

  • 解释型语言提供了极佳的调试支持。一名Java程序员只需要几分钟就可以定位并修复一个“空指针异常”,因为Java运行环境不仅指明了异常的性质,而且给出了异常发生位置具体的行号和函数调用顺序(着名的堆栈跟踪信息)。这样的便利是编译型语言所无法提供的。

  • 另一个优势是解释器比编译器容易实现

  • 解释型语言最大的优势之一是其平台独立性

  • 解释型语言也可以保证高度的安全性——这是互联网应用迫切需要的

  • 中间语言代码的大小比编译型可执行代码小很多

  • 平台独立性,以及严密的安全性是使解释型语言成为适合互联网和Web应用的理想语言的2个最重要的因素。

  • 解释型语言存在一些严重的缺点。解释型应用占用更多的内存和CPU资源。这是由于,为了运行解释型语言编写的程序,相关的解释器必须首先运行。解释器是复杂的,智能的,大量消耗资源的程序并且它们会占用很多CPU周期和内存。

  • 由于解释型应用的decode-fetch-execute(解码-抓取-执行)的周期,它们比编译型程序慢很多。

  • 解释器也会做很多代码优化,运行时安全性检查;这些额外的步骤占用了更多的资源并进一步降低了应用的运行速度。

Ⅸ 编译型语言和解释型语言的区别是什么

编译型语言和解释型语言的区别是翻译的时间点不同。

编译型语言:编译型语言在执行之前要先经过编译过程,编译成为一个可执行的机器语言的文件,比如exe。

因为翻译只做一遍,以后都不需要翻译,所以执行效率高。

解释型语言:解释性语言编写的程序不进行预先编译,以文本方式存储程序代码。

执行时才翻译执行程序每执行一次就要翻译一遍。

编译型语言和解释型语言的详细介绍:

对于编译型语言,开发完成以后需要将所有的源代码都转换成可执行程序,比如Windows下的.exe文件,可执行程序里面包含的就是机器码。只要我们拥有可执行程序,就可以随时运行,不用再重新编译了,也就是“一次编译,无限次运行”。

在运行的时候,我们只需要编译生成的可执行程序,不再需要源代码和编译器了,所以说编译型语言可以脱离开发环境运行。

编译型语言一般是不能跨平台的,也就是不能在不同的操作系统之间随意切换。

对于解释型语言,每次执行程序都需要一边转换一边执行,用到哪些源代码就将哪些源代码转换成机器码,用不到的不进行任何处理。

每次执行程序时可能使用不同的功能,这个时候需要转换的源代码也不一样。

因为每次执行程序都需要重新转换源代码,所以解释型语言的执行效率天生就低于编译型语言,甚至存在数量级的差距。

计算机的一些底层功能,或者关键算法,一般都使用C/C++实现,只有在应用层面(比如网站开发、批处理、小工具等)才会使用解释型语言。

Ⅹ 解释型语言和编译型语言的区别是什么

解释型语言和编译型语言的区别是在于翻译的时间点不同。编译型语言是在代码执行之前进行编译,生成中间代码文件。解释型语言是在运行时进行及时解释,并立即执行,当编译器以解释方式运行的时候,也称之为解释器。

计算机不能理解除任何机器语言之外的语言,所以必须把程序员所写的代码翻译成机器语言才能执行程序。程序语言翻译成机器语言的工具,被称为翻译器。

解释型语言的特性

解释型语言效率低,每执行一次都要进行翻译。非独立性,跨平台性好编译型语言进行移植后要重新编译,相对而言解释型语言跨平台较容易。

同等条件下,编译型语言对系统的条件要求比较低,像开发操作系统,大型应用程序,数据库系统,则用编译型语言。对不同平台兼容性有一定要求的程序通常使用解释型语言。

热点内容
centos使用python 发布:2024-05-18 23:39:48 浏览:866
幻影天龙脚本 发布:2024-05-18 23:38:17 浏览:711
编程的py 发布:2024-05-18 23:36:22 浏览:73
安卓系统怎么改序列号 发布:2024-05-18 23:28:16 浏览:782
c语言中实数 发布:2024-05-18 23:21:03 浏览:894
服务器搭建题目 发布:2024-05-18 23:01:29 浏览:27
下载武装突袭后怎么进服务器 发布:2024-05-18 22:56:17 浏览:825
c语言字符串大写变小写 发布:2024-05-18 22:56:16 浏览:438
重启删除的文件夹 发布:2024-05-18 22:34:11 浏览:638
视频软件源码 发布:2024-05-18 22:22:24 浏览:429