|
| » 首页 » 电脑_数码 » 编程 » 高级语言的可移植性???? |
高级语言的可移植性???? |
|
编译程序是先编译,在到其他的机器上运行. 解释程序是编写程序时调试用的,还是裸机自带.原代码直接拿到其他电脑上,一边运行一边解释??????????????????? 高级语言编写的程序可以在同种操作系统上运行.为什么?难道不受cpu的构架和指令集影响吗?请详细回答,拜托各位了,此种问题我都不止问三遍了,每次都是高分,可是都没有得到满意的回答.分我不稀罕,只要回答的好,我还会追加的,拜托拉!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
![]() |
|
|
高级语言的运行机制 高级语言 都有自己的一套编译环境 将这些语言编译成 自己编译环境 可以解读的代码形式 然后 再解析为 系统所 识别的代码形式 也就是 系统级代码 高级语言的可移植性 是能移植 到 各种系统 而不是 直接解析为机器码 让cpu等硬件去执行 是 解析为系统级代码 如dos 的命令 一样 让系统识别 系统识别了 命令和代码 才会解析为 机器代码 高级语言的可移植性 是 可以 移植到别的系统 系统来解析语言让 其 可以在机器上运行 所以 高级语言的 都是 先将代码解析给 系统 再去做相应的处理 windos 的exe 文件 和linux 的 .bin 文件 同为2进制文件 但是 这些代码是给不同系统去识别的 系统能识别 才能运行 才能让硬件 支持 比如java 它有一套自己的运行环境 jvm 虚拟机 它现将 java 文件解析 为class 文件 然后将class 文件解析为 系统所对应的2进制格式的代码 然后交给系统 系统识别了 再交给 各个硬件去处理 所以 高级语言的可移植性 是基於平台的 没有平台 这些高级语言是没有办法 让 硬件 工作的 低级语言 如汇编就是 直接去通过编译器 编译成 各个 硬件所能支持 然后再运行的 不知道 这个答案 符合你的要求不 高级语言的运行机制 高级语言 都有自己的一套编译环境 将这些语言编译成 自己编译环境 可以解读的代码形式 然后 再解析为 系统所 识别的代码形式 也就是 系统级代码 高级语言的可移植性 是能移植 到 各种系统 而不是 直接解析为机器码 让cpu等硬件去执行 是 解析为系统级代码 如dos 的命令 一样 让系统识别 系统识别了 命令和代码 才会解析为 机器代码 高级语言的可移植性 是 可以 移植到别的系统 系统来解析语言让 其 可以在机器上运行 所以 高级语言的 都是 先将代码解析给 系统 再去做相应的处理 windos 的exe 文件 和linux 的 .bin 文件 同为2进制文件 但是 这些代码是给不同系统去识别的 系统能识别 才能运行 才能让硬件 支持 比如java 它有一套自己的运行环境 jvm 虚拟机 它现将 java 文件解析 为class 文件 然后将class 文件解析为 系统所对应的2进制格式的代码 然后交给系统 系统识别了 再交给 各个硬件去处理 所以 高级语言的可移植性 是基於平台的 没有平台 这些高级语言是没有办法 让 硬件 工作的 低级语言 如汇编就是 直接去通过编译器 编译成 各个 硬件所能支持 然后再运行的 不知道 这个答案 符合你的要求不 裸机就是裸机,没有这些编译程序。高级语言是把程序编译成低级语言,可以发给物理执行部件去进行相应的工作。.com程序才是二进制代码的。一个集成开发环境的语言包括了编译器,那它生成的exe程序又是怎么在其他机器上运行的???,就是把程序编译成低级语言,可以发给物理执行部件去进行相应的工作。这就是操作系统平台的兼容性问题。不是所有的程序都有很好的移植性的。 绝大部分的物理件都是在汇编语言下工作的,所以汇编是直接对物理部件进行编程,所以它的可移植性很差。 java是可移植的,因为它不是编译成机器码,而是编译成特定的字节码文件,有系统的java虚拟机解释成机器码在运行,就是说java编辑的程序只要在有java虚拟机的计算机上就可以运行 而不论汇编还是c/c++等由于是直接编译形成了机器码的可执行文件,所以无法移植其他系统上,当然在相同的系统上是可以运行的。 去学C语言就行了 好!!! 裸机就是裸机,没有这些编译程序。高级语言是把程序编译成低级语言,可以发给物理执行部件去进行相应的工作。.com程序才是二进制代码的。一个集成开发环境的语言包括了编译器,那它生成的exe程序又是怎么在其他机器上运行的???,就是把程序编译成低级语言,可以发给物理执行部件去进行相应的工作。这就是操作系统平台的兼容性问题。不是所有的程序都有很好的移植性的。 绝大部分的物理件都是在汇编语言下工作的,所以汇编是直接对物理部件进行编程,所以它的可移植性很差。 java是可移植的,因为它不是编译成机器码,而是编译成特定的字节码文件,有系统的java虚拟机解释成机器码在运行,就是说java编辑的程序只要在有java虚拟机的计算机上就可以运行 而不论汇编还是c/c++等由于是直接编译形成了机器码的可执行文件,所以无法移植其他系统上,当然在相同的系统上是可以运行的。 死不足惜 HAL !!!! windows 平台HAL层 这个东西作用就是使操作系统啊,程序啊,不用直接一点点去完成控制硬件动作,提供虚拟硬件给上层软件动作... 我知道编译器包括(汇编程序,编译程序,解释程序。)这些程序裸机自带吗? 答:这些程序裸机上不自带。 那为什么高级语言编写的程序可以在计算机上运行? 答:因为这些程序经过安装后,能生成exe的二进制文件 exe可执行程序是二进制代码吗? 答:是。 一个集成开发环境的语言包括了编译器,那它生成的exe程序又是怎么在其他机器上运行的,而且可以在任何机器上运行,不受cpu的不同影响。 答:在windows下生成的exe并不能在linux或手机上运行的。而如果都是windows的机器,则可以运行,因为windows操作系统对cpu等硬件特性进行了封装,不论什么配置的cpu对应用程序的软件接口是一样的。 编程语言-原代码-编译或解释-生成。然后在其他机器上,是这样的流程吗? 答:通常都是这种流程。 为什么又说高级语言具有可移植性呢? 答:可移植性是对不同配置的,但操作系统都一样的机器的机器而言的。而不是对不同的操作系统而言的。 汇编语言可移植吗? 答:可移植,但移植起来非常的困难,所以说它的可移植性比较差,因为它都是针对特定的硬件编写的,没有经过操作系统的抽象。 问题补充: 我想知道高级语言的可易植性???? 答:高级语言,都具备很好的可移植性,你知道这些就行了。 编译程序是先编译,在到其他的机器上运行. 答:对的。 解释程序是编写程序时调试用的,还是裸机自带.原代码直接拿到其他电脑上,一边运行一边解释? 答:不是自带的。像java就是解释程序,需要安装了java解释器的机器,才能运行java编写后的程序。是解释后再运行的,边解释边运行的。 参考资料:http://zhidao.baidu.com/question/55219882.html http://www.qqkav.com/qqkav/ 死不足惜,顶一个! |
| 《高级语言的可移植性????》答案收集时间:2008-06-14 14:34:33 |