导航:首页 > 源码编译 > 编译式语言每次运行都需要编译吗

编译式语言每次运行都需要编译吗

发布时间:2022-02-06 01:11:07

编译型语言和解释型语言各自的优缺点是什么

一、编译型语言

优点:运行速度快,代码效率高,编译后的程序不可修改,保密性较好。

缺点:代码需要经过编译方可运行,可移植性差,只能在兼容的操作系统上运行 。

二、解释型语言

优点:可移植性较好,只要有解释环境,可在不同的操作系统上运行。

缺点:运行需要解释环境,运行起来比编译的要慢,占用资源也要多一些,代码效率低,代码修改后就可运行,不需要编译过程。

(1)编译式语言每次运行都需要编译吗扩展阅读:

编译型语言:程序在执行之前需要一个专门的编译过程,把程序编译成 为机器语言的文件,运行时不需要重新翻译,直接使用编译的结果就行了。程序执行效率高,依赖编译器,跨平台性差些。如C、C++、Delphi等。而相对的,解释性语言编写的程序不进行预先编译,以文本方式存储程序代码。在发布程序时,看起来省了道编译工序。但是在运行程序的时候,解释性语言必须先解释再运行。

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

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

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

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

编译型语言:

python代码运行需要编译吗

有人在讨论 Python 代码是编译执行还是解释执行?这个问题还可以换一种说法: Python 是编译型语言还是解释型语言?回答这个问题

前,我们先弄清楚什么是编译型语言,什么是解释型语言。

所谓编译执行就是源代码经过编译器编译处理,生成目标机器码,就是机器能直接运行的二进制代码,下次运行时无需重新编译。不过它

是针对特定CPU体系的,这些目标代码只能在特定平台执行,如果这个程序需要在另外一种 CPU 上面运行,这个代码就必须重新编译。

它不具备可移植性,但是执行速度快,C、C++这类语言属于编译型语言。

而解释型语言是在代码运行期间逐行翻译成目标机器码,下次执行时,还是需要逐行解释,我们可以简单认为 Java、Python 都是解释型

语言。

编译型相当于厨师直接做好一桌子菜,顾客来了直接开吃,而解释型就像吃火锅,厨师把菜洗好,顾客需要自己动手边煮边吃,效率上来

说解释型语言自然比不过编译型语言,当然也不是绝对了,像 JIT 的效率就很高

以上是对编译型语言和解释型语言的一个简单粗暴的区分,但是 Python(这里主要是指CPython)并不是严格的解释型语言,因为

Python 代码在运行前,会先编译(翻译)成中间代码,每个 .py 文件将被换转成 .pyc 文件,.pyc 就是一种字节码文件,它是与平台无

关的中间代码,不管你放在 Windows 还是 Linux 平台都可以执行,运行时将由虚拟机逐行把字节码翻译成目标代码。

我们安装Python 时候,会有一个 Python.exe 文件,它就是 Python 解释器,你写的每一行 Python 代码都是由它负责执行,解释器由

一个编译器和一个虚拟机构成,编译器负责将源代码转换成字节码文件,而虚拟机负责执行字节码,所以,解释型语言其实也有编译过

程,只不过这个编译过程并不是直接生成目标代码,而是中间代码(字节码),然后再通过虚拟机来逐行解释执行字节码。

总结

Python代码首先会编程一个字节码文件,再由虚拟机逐行解释,把每一行字节码代码翻译成目标指令给CPU执行。

推荐学习《Python教程》。

④ 哪些属于编译型语言

属于编译型语言的是: C

属于解释型语言的是: php asp jsp

java具有编译与解释两种特性:既可以将其源代码当作脚本执行,也可以进行编译成.class代码(字节码)载入运行。

区别在于:

编译型语言,通常都会对源代码进行编译,生成可以执行的二进制代码,执行的是编译后的结果。

解释型语言,通常不用对源代码进行编译,一般是通过解释器载入脚本后运行。由于每个语句都是执行的时候才进行解释翻译,这样解释性语言每次执行就要翻译一次,效率相对要低。

至于难度,个人感觉 java 相对要更复杂些。

⑤ c语言为何需要编译和连接才能运行

的文件(也称为源代码)而已,需要经过1定的处理才能转换成机器上可运行的可履行文件。
我们将对C语言的这类处理进程称为编译与链接。

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

1.编译型语言在程序执行之前,有一个单独的编译过程,将程序翻译成机器语言,以后执行这个程序的时候,就不用再进行翻译了。
2.解释型语言,是在运行的时候将程序翻译成机器语言,所以运行速度相对于编译型语言要慢。
3.C/C++ 等都是编译型语言,而Java,C#等都是解释型语言。
4.虽然Java程序在运行之前也有一个编译过程,但是并不是将程序编译成机器语言,而是将它编译成字节码(可以理解为一个中间语言)。
在运行的时候,由JVM将字节码再翻译成机器语言。
5.脚本语言一般都有相应的脚本引擎来解释执行。 他们一般需要解释器才能运行。JAVASCRIPT,ASP,PHP,PERL,Nuva都是脚本语言。C/C++编译、链接后,可形成独立执行的exe文件。

⑦ 突然想知道,为什么有的语言需要编译之后运行,而有的语言则不需要呢 C, ruby 请分析谢谢!

我们用的大部分程序设计语言都是高级语言,高级语言要执行,必须要先变成计算机能识别的汇编语言.将高级语言变成汇编语言的过程叫做翻译,目前有两种形式的翻译方法,一种是编译,一种是解释.C就属于编译方式,执行前一定先编译一次.而B语言就是解释方式,解释一条执行一条,所以执行先不需要编译一下.

⑧ 解释型语言与编译型语言有什么区别

前者给人看思路或者流程的,后者写给编译器看的。

⑨ 高级语言中的解释方式和编译方式的区别

两者的区别如下:
解释方式:程序运行时,取一条指令,将其转化为机器指令,再执行这条机器指令。这种方式每次运行程序时都要重新翻译整个程序,效率较低,执行速度慢,如QB,不过现在很少再用这种低效的方式的设计语言了。
编译方式:程序运行时之前,将程序的所有代码编译为机器代码,再运行这个程序。然后每次执行的时候就可以直接执行这个翻译好的二进制文件了,这样的程序只需要翻译一次,效率明显要高很多,现在的大多数语言都是这种方式,网页中的asp.net 采用的也是这种方式。

⑩ 任何语言都需要编译吗

可以说是;
有种情况就是特殊的,那就是机器语言,因为计算机唯一能识别的语言就是机器语言。但是现在不会有人“聪明”到用机器语言编程的吧,所以可以不用考虑这种情况。
所以可以说任何语言都需要编译,转化成机器语言后电脑才能识别。只有这样编程才有实际意义,否则任何语言都不过就是一些单词^_^

阅读全文

与编译式语言每次运行都需要编译吗相关的资料

热点内容
360浏览器的代理服务器如何设置 浏览:817
程序员经常出错 浏览:418
linux查看web服务 浏览:509
广东惠普服务器续保维修云主机 浏览:201
时光相册升级后加密照片怎么分类 浏览:706
linuxgz格式 浏览:649
邮政快递投放点用什么app 浏览:737
android启动图片设置 浏览:651
php打印sql 浏览:908
压缩弹簧国标规格型号 浏览:631
5p压缩机多少钱 浏览:57
打乱数组顺序php 浏览:135
压缩收纳袋价格 浏览:318
单片机控制电动机 浏览:94
linuxapache编译安装 浏览:580
加密雪纺料是什么 浏览:620
h2so4加密 浏览:312
drawpdf 浏览:855
创建表空间的命令 浏览:871
华为分屏app文件夹 浏览:662