㈠ C语言既可以编译执行又可以解释执行吗 编译执行怎么解释 解释执行又怎么解释
C 语言程序仅可以解释执行。
解释程序是将源程序(如BASIC)作为输入,解释一句后就提交计算机执行一句,并不形成目标程序。编译程序是把高级语言(如FORTRAN、COBOL、Pascal、C等)源程序作为输入,进行翻译转换,产生出机器语言的目标程序,然后再让计算机执行这个目标程序,得到计算结果。
相对于编译性语言,其优点是可移植性好,只要有解释器环境,程序就可以在不同的操作系统上运行。
缺点是代码需要有专门的解释器,在程序运行时,除要给用户程序本身分配内存空间外,解释器也占用系统资源,所以其运行速度较慢。另外,也很难达到像C、C++那样操作系统底层操作的目的。握拍返
解释型语言常用于,一是对运行速度要求不高(如一些网页脚本等)的场合,二是对跨平台(贺贺操作系统的兼容性)有要求的场合。
(1)编译运行与解释运行扩展阅读
1、Python和java语言,专门有一个解释器能够直接执行Python程序,每个语段饥句都是执行的时候才翻译。
2、Python代码在运行前,会先编译成中间代码,每个 .py 文件将被换转成pyc 文件,pyc 就是一种字节码文件,它是与平台无关的中间代码。不管放在 Windows 还是 Linux 平台都可以执行,运行时将由虚拟机逐行把字节码翻译成目标代码。
㈡ 编译程序和解释程序有何区别
编译程序能生成目标程序,而解释程序不能。
㈢ 编译原理---程序执行的两种方式是什么
由于web系统采用http协议在浏览器和服务器之间传输数据,而http协议是一种无状态的协议,如何在不同页面之间传递数据,可以有一下几种方式方式一:表单方式传递表单传递参数是一种最简单,也是最基本的参数传递方式。注意:表单元素隐藏按钮的使用方式二:带参数的url方式传递带参数的url写法:url?参数名1=值1&参数名2=值2。方式三:请求request对象可以将数据绑定到request对象上,通过request对象getAttribute和setAttribute方法读写方式四:用户会话session对象可以将数据绑定到session对象上,通过session对象getAttribute和setAttribute方法读写方式五:application对象可以将数据绑定到application对象上,通过application对象getAttibute方法和setAttribute方法读写方式六:cookie对象可以将数据写到到客户端浏览器cookie文件中。其中方式一,方式二只能实现字符串参数的传递,方式三,四,五,六可以实现对象的传递(方式六需要对象序列化后进行存储)方式一,方式二,方式三数据传递只能请求页面获取数据,而方式四,五,六可以在多个不同页面获取数据对象方式四和六保存的数据对象都是和某个用户相关的信息,不同的是方式四将数据保存到服务器内存中,方式六将数据保存到客户端内存中。方式五保存的数据对象都是和所有用户相关的信息,数据也是保存到服务器内存中。
㈣ “编译方式”和“解释方式”的区别是什么
程序员编写的程序现在一般都是用高级语言编写的,如c/c++ 以及面向对象的visual 系列;这样编写的程序计算机是不能直接执行的,因为计算机只能执行二进制程序。因此要经过一个源程序代码翻译成二进制的过程。计算机并不能直接地接受和执行用高级语言编写的源程序,源程序在输入计算机时,通过“翻译程序”翻译成机器语言形式的目标程序,计算机才能识别和执行。这种“翻译”通常有两种方式,即编译方式和解释方式。
两者的区别如下:
解释方式:程序运行时,取一条指令,将其转化为机器指令,再执行这条机器指令。这种方式每次运行程序时都要重新翻译整个程序,效率较低,执行速度慢,如QB,不过现在很少再用这种低效的方式的设计语言了。
编译方式:程序运行时之前,将程序的所有代码编译为机器代码,再运行这个程序。然后每次执行的时候就可以直接执行这个翻译好的二进制文件了,这样的程序只需要翻译一次,效率明显要高很多,现在的大多数语言都是这种方式,网页中的asp.net 采用的也是这种方式。
简单的说,编译就是全文翻译,全部翻译完才执行。解释就相当于同声翻译,边翻译边执行。
㈤ Java语言中编译执行和解释执行的区别
编译执行和解释执行是不同语言之间的特性,所有的java都是编译执行的。
如果不是编译执行,其实已经完全不用java的编译器。那么只是一个使用java语法的另一种语言而已。
编译执行是指把代码先编译成机器码。然后按顺序运行,如果编译中有任何异常,都无法继续运行。java的编译就是把java转换成class。
而解释执行则是运行到哪一行代码就执行哪一行代码。如果其他代码有错误但没有运行到,一般不会影响。
比较起来,编译执行速度要快的多。而解释执行则在于比较灵活。可以动态修改。甚至可以在代码运行到指定语句之前,修改该代码。
㈥ 编译程序和解释程序的区别
编译程序和解释程序的区别是:
1、编译是将源程序翻译成可执行的目标代码;解释程序不产生目标代码。
2、解释程序可跨平台使用;编译程序跨平台性不好。
3、解释程序可以随时修改,立刻生效;编译程序不行。
4、解释程序运行效率低;编译程序执行速度快。
编译是将源程序翻译成可执行的目标代码,翻译没斗与执行是分开的;而解释是对源程序的翻译与执行一次性完成,不生成可存储的目标代码。这只是表象,二者背后的最大区别是:对解释执行而言,程序运行时的控制权在解释器而不在用户程序;对编译执行而言,运行时的控制权在用户程序。
解释具有良好的动态特性和可移植性,比如在解释执行时可以动态改变变量的类型、对程序进行修改以及在程序中插入良好的调试诊断信息等,而将解释器移植到不同的系统上,则程序不用改动就可以在移植了解释器的系统上运行。
同时解释器也有很大的缺点,比如执行效率低,占用空间大,因为不仅要给用户程序分配空间,念察败解释器本身也占用了宝贵的系统资源。
编译器是把源程序的每一条语句都编译成机器语言,并保存成二进制文件,这样运行仔颤时计算机可以直接以机器语言来运行此程序,速度很快。
而解释器则是只在执行程序时,才一条一条的解释成机器语言给计算机来执行,所以运行速度是不如编译后的程序运行的快的。
㈦ 代码的编译运行和解释运行的区别
计算机并不能直接地接受和执行用高级语言编写的源程序,源程序在输入计算机时,通过"翻译程序"翻译成机器语言形式的目标程序,计算机才能识别和执行。这种"翻译"通常有两种方式,即编译方式和解释方式。编译方式是指利用事先编好的一个称为编译程序的机器语言程序,作为系统软件存放在计算机内,当用户将高级语言编写的源程序输入计算机后,编译程序便把源程序整个地翻译成用机器语言表示的与之等价的目标程序,然后计算机再执行该目标程序,以完成源程序要处理的运算并取得结果。解释方式是指源程序进入计算机后,解释程序边扫描边解释,逐句输入逐句翻译,计算机一句句执行,并不产生目标程序。如PASCAL、FORTRAN、COBOL等高级语言执行编译方式;BASIC语言则以执行解释方式为主;而PASCAL、C语言是能书写编译程序的高级程序设计语言。
编译程序、解释程序、汇编程序是3种语言处理程序。其区别主要为:汇编程序(为低级服务)是将汇编语言书写的源程序翻译成由机器指令和其他信息组成的目标程序。解释程序(为高级服务)直接执行源程序或源程序的内部形式,一般是读一句源程序,翻译一句,执行一句,不产生目标代码,如BASIC解释程序。编译程序(为高级服务)是将高级语言书写的源程序翻译成与之等价的低级语言的目标程序。编译程序与解释程序最大的区别之一在于前者生成目标代码,而后者不生成;此外,前者产生的目标代码的执行速度比解释程序的执行速度要快;后者人机交互好,适于初学者使用。用COBOL、FORTRAN等语言编写的程序考虑到执行速度一般都是编译执行。
解释:程序运行时,取一条指令,将其换化为机器指令, 再执行这条机器指令。
编译:程序运行时之前,将程序的把有代码编译为机器代码,再运行这个程序。
计算机并不能直接地接受和执行用高级语言编写的源程序,源程序在输入计算机时,通过"翻译程序"翻译成机器语言形式的目标程序,计算机才能识别和执行。这种"翻译"通常有两种方式,即编译方式和解释方式。
编译方式是指利用事先编好的一个称为编译程序的机器语言程序,作为系统软件存放在计算机内,当用户将高级语言编写的源程序输入计算机后,编译程序便把源程序整个地翻译成用机器语言表示的与之等价的目标程序,然后计算机再执行该目标程序,以完成源程序要处理的运算并取得结果。
解释方式是指源程序进入计算机后,解释程序边扫描边解释,逐句输入逐句翻译,计算机一句句执行,并不产生目标程序。如PASCAL、FORTRAN、COBOL等高级语言执行编译方式;BASIC语言则以执行解释方式为主;而PASCAL、C语言是能书写编译程序的高级程序设计语言。
简单的说,编译就是全文翻译,全部翻译完才执行。解释就相当于同声翻译,边翻译边执行。
解释语言, 比如以前的Basic, 源程序是文本的, 运行时有一个解释程序, 它把源程序读入, 一条一条地现翻译现执行. 这当然慢了, 因为它要现场解释嘛. 现在网页中的VBScript, JavaScript等也是如此.
编译语言, 比如C或C++, 你编一段程序, 由Turbo C, VC, 或其它什么编译器编译, 变成了一个可执行的程序文件 (在DOS或Windows下, 扩展名为 .EXE的), 以后运行这个编译好的文件就成了. 因为已经翻译好了, 所以运行时就没有现场解释这一步, 当然快得多了. DOS或Windows下的 EXE 文件, 都是编译或汇编出来的.
另外注意, 是否是编译或解释, 与语言种类其实无关. 过去一般说Basic是解释的, 其实它也有编译的; 而C, Pascal一般都说是编译的, 但我确实见到过以解释方式执行的C和Pascal.
㈧ 请教一个vb问题编译运行模式和解释运行模式有什么区别
编译运行模式就是在先对源码进行编译,翻译为特定机器目标代码,然后直接执行,速度快。
解释运行模式就是解释一句后就提交计算机执行一句,并不形成目标程序。速度慢,可以跨平台。
㈨ 编译执行和解释执行的区别
一、主体不同
1、编译执行:由编译程序将目标代码一次性编译成目标程序,再由机器运行目标程序。
2、解释执行:将源语言直接作为源程序输入,解释执行解释一句后就提交计算机执行一句,并不形成目标程序。
二、优势不同
1、编译执行:相比解释执行编译执行效率高,占用资源小,适合复杂程序
2、解释执行:开发速度快,出现严重BUG的几率小。
三、缺点不同
1、编译执行:兼容性差,例如在windows平台上写的编译程序一般不可以在unix平台上运行。
2、解释执行:解析需要时间,不生成目标程序而是一句一句的执行的方式会造成计算机资源的浪费,即执行效率低。
㈩ 解释和编译有什么区别
一、与计算机的交流方式不同
1、解释程序不产生目标代码,它逐条地取出源程序中的语句,边解释,边执行;解释器把源代码文件边解释成机器语言边交给CPU执行。
三、开发便捷性
1、解释程序可以随时修改,立刻生效,改完源代码后,直接运行看效果
2、编译程序每次修改源代码,都要重新编译,生成机器码文件
四、运行速度
1、解释程序运行效率低,所有的代码均需经过解释器边解释变执行,速度比编译型慢很多
2、编译程序执行速度快,因为你的程序代码已经翻译成了是计算机可以理解的机器语言。