编译和解释区别
来源:互联网 发布:linux数据库安装 编辑:程序博客网 时间:2024/05/29 08:36
编译是把源代码全部转换为可以直接执行的指令,从而程序运行速度比较快。
解释是把当前行的代码转换为可以直接执行的指令,执行完毕,就要解释下一句代码,边解释,边执行,速度慢
一、特征
1.编译型就是编译的时候直接编译成机器可以执行的(exe.dll.ocx)程序文件,编译与执行是分 开的,但不能跨平台。例如delphi,c++,asm,C是直接编译成exe文件并且带条件编译功能。
2.解释型语言就是编译成中间代码程序,在执行时靠翻译程序一起执行,可以跨平台,中间代码 (jre,.net)翻译程序只要各平台一个,就可以。.net的framework,java的jre就是这类翻 译程序,这些中间层充当的翻译和解释语言的功能。
3.Vb(解释型)对代码进行逐行扫描解释执行,它需要中间转换程序,性能不如C等编译性语言。 VB可以调试运行,执行的流程可以向前向后执行,这为调试程序提供了很大方便,遗憾是多线 程的不支持。
二、区别
二者背后的最大区别是:对解释执行而言,程序运行时的控制权在解释器(jre,.net)而不在用户 程序;对编译执行而言,运行时的控制权在用户程序。
三、总结
编译型:优点:运行速度快,代码效率高,编译后的程序不可修改,保密性较好
缺点:代码需要经过编译方可运行,可移植性差,只能在兼容的操作系统上运行
解释型:优点:可移植性较好,只要有解释环境,可在不同的操作系统上运行。比如在解释执行时可以 动态改变变量的类型、对程序进行修改以及在程序中插入良好的调试诊断信息等,而将解释器移植到不同的系统上, 则程序不用改动就可以在移植了解释器的系统上运行。
缺点:运行需要解释环境,运行起来比编译的要慢,占用资源也要多一些,代码效率低,代码修改后就可运行,不需要编译过程.因为不仅要给用户程序分配空间, 解释器本身也占用了宝贵的系统资源。其封装底层代码,程序严重依赖平台。 不能同C++,Vb那样直接操作底层。
- 编译和解释区别
- 解释和编译区别
- 解释和编译的区别
- 解释和编译的区别
- 解释和编译的区别
- 编译和解释的区别
- 解释和编译的区别
- 编译执行和解释执行的区别
- 解释语言和编译语言的区别
- 编译执行和解释执行的区别
- 编译执行和解释执行的区别
- 编译方式和解释方式的区别
- 解释型和编译型的区别。
- 解释执行和编译执行区别
- 编译和解释的区别是什么?
- 编译系统和解释系统的区别
- 编译执行和解释执行的区别
- 解释语言和编译语言的区别
- C++初学例程3
- 文档摘要技术
- AJAX的好处
- MongoDB教程快速学会入门 第6篇 索引操作
- 24点游戏算法
- 编译和解释区别
- Hadoop科普文
- C++初学例程4
- MongoDB教程快速学会入门 第7篇 运维技术
- 2014年十大Web设计趋势
- 不使用 symbolicatecrash 解析崩溃堆栈
- Java中线程的阻塞
- qt creator 调试器未设置
- C++初学例程5---类的定义和类中方法的定义及调用