哪些特性使得“一次编译,到处运行”成为可能

 我来答
Lucifer_ABCK
2016-03-31 · TA获得超过230个赞
知道小有建树答主
回答量:107
采纳率:100%
帮助的人:60.4万
展开全部
  1. 虚拟机和字节码

  2. 标准API库。

 首先程序不能处处运行的原因在两处,一个是CPU,一个是系统。CPU因为机器码不同的缘故,导致无法通用,解决办法,自己制作虚拟机,虚拟机运行字节码的方式,字节码可以认为是虚拟机的机器码(.net的虚拟机叫运行时其实道理一样)。。。如果编译成字节码,那么就能在虚拟机上运行,不管他是什么CPU,只要有运行字节码的虚拟机就OK。。。。

   系统问题,系统不同系统内核和API不同,解决办法,标准API库,不同的系统的内核对象其实大致原理和功能相似只是实现不同,将API标准化为比如java API等等,问题被解决。。

    但“一次编译,到处运行”只是个理想,几乎从来没有真正这么用过,。最主要还是API标准化几乎让这种事成为不可能。。。最简单的比如用手机打电话的功能,移植到PC上,PC根本没有这个功能,当然这是个极端的例子,到什么地方做什么事,统一根本无意义,只会带来兼容性麻烦。。。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式