解释执行的语言相比编译执行的语言有什么优缺点?

        程序有语句或指令组成,计算机只能执行低级语言中的指令(汇编语言的指令要先转成机器码才能执行),

高教语言要执行就必须翻译成低级语言,翻译的方法有两种:编译和解释,虽然有这样的不便,但高级语言有一个

好处就是平台无关性。平台这个词有很多种解释,可以指计算机体系结构(Architecture),也可以指操作系统(Operating

System),也可以指开发平台(编译器、链接器等)。不同的计算机体系结构有不同的指令集(Instruction Set),可以识别的机

器指令格式是不同的,直接用某种体系结构的汇编或机器指令写出来的程序只能在这种体系结构的计算机上运行,然而各种体系结

构的计算机都有各自的C编译器,可以把C程序编译成各种不同体系结构的机器指令,这意味着用C语言写的程序只需稍加修改甚至

不用修改就可以在各种不同的计算机上编译运行。

 

解释执行的语言:

优点:

1.解释执行不依赖于平台,因为编译器会根据不同的平台进行解析

2.开发速度快,出现严重BUG的机率小

缺点:

1.解析需要时间,不生成目标而是一句一句的执行的方式会造成计算机资源的浪费,即执行效率低。

2.解释语言还有一个硬伤就是源代码必须交给用户

 

编译执行的语言:

优点:

1.相比解释执行编译执行效率高,占用资源小,适合复杂程序。

缺点:

兼容性差,例如windows平台上写的编译程序一般不可以unix平台上运行。当然,如果只是简单的scanf,printf是可以的,但是像指针,内存分配,文件操作,多线程等,在一些相对复杂的系统问题就严重了。 更可怕的是拿源码到unix环境下编译通过了,但是运行却出问题,这种问题最要人命。 所以一般的做法都是这个程序会用在什么系统,就到什么系统环境去开发。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章