JAVA理论上就是这样的~ JAVA写的都是中间代码~ 具体由虚拟机翻译成机器码~
但是不知道为啥最后根据平台还是要很多的编译测试~ =.= 感觉根本没把一次编译~ 到处执行的特性发挥出来~images/back.gif
不理解各个平台的特性的话,跨平台就是个笑话
好比Java的String转byte[],我估计大部分Java程序员不知道这东西不光在Windows下和Linux下的表现不一样,不同区的系统间表现也不一样…… 回归主题。我觉得搞一个在运行时把x86转arm 的东西微软不是做不出来,是有专利问题
或者是因为intel 的关系特意为之 不同构架的二进制码的运行时翻译... 就算真有可能被虚拟出来了效率也是 引用第42楼精钢魔像于2011-05-19 16:10发表的:
回归主题。我觉得搞一个在运行时把x86转arm 的东西微软不是做不出来,是有专利问题
或者是因为intel 的关系特意为之 images/back.gif
肯定不会搞对已有代码/程序的兼容啊。。。这个太蛋疼了
最多就是在便于移植上做些设计,就足够了 引用第42楼精钢魔像于2011-05-19 16:10发表的:
回归主题。我觉得搞一个在运行时把x86转arm 的东西微软不是做不出来,是有专利问题
或者是因为intel 的关系特意为之 images/back.gif
还真做不出来
x86 x64的使用已经达到了一种“滥”的境界,很多软件代码都用了内联汇编,动态指令生成,这类东西要想在运行时完全翻译到arm,没听说过哪家有此等技术。
另外举一个最简单的例子,花指令,这个在risc上就没有等价物 现在都不是逐字节翻译了好不好,字节码的程序在第一次运行时编译为本地代码,并作为一个映像保存,以后再运行就是直接执行这个映像,不用二次编译 引用第46楼精钢魔像于2011-05-19 16:26发表的:
现在都不是逐字节翻译了好不好,字节码的程序在第一次运行时编译为本地代码,并作为一个映像保存,以后再运行就是直接执行这个映像,不用二次编译
images/back.gif
你这叫 IL,也就是中间语言,java byte code vb pcode.net IL等等,那些原生的程序怎么办?dynarec是一种方法,但是wine做到今天也不敢保证随便拿一个都能兼容 引用第45楼鉴胸真人于2011-05-19 16:24发表的 :
还真做不出来
x86 x64的使用已经达到了一种“滥”的境界,很多软件代码都用了内联汇编,动态指令生成,这类东西要想在运行时完全翻译到arm,没听说过哪家有此等技术。
....... images/back.gif
做不到一条指令对一条指令,那一对多也可以啊
不过好像听说过,x86的指令在运行时会被转译成另外一套东西,不是80386汇编
引用第47楼鉴胸真人于2011-05-19 16:29发表的:
你这叫 IL,也就是中间语言,java byte code vb pcode .net IL等等,那些原生的程序怎么办?dynarec是一种方法,但是wine做到今天也不敢保证随便拿一个都能兼容 images/back.gif
把另一个平台的本地代码看作中间语言不行吗,思维不要那么僵化么 引用第48楼精钢魔像于2011-05-19 16:31发表的:
把另一个平台的本地代码看作中间语言不行吗,思维不要那么僵化么 images/back.gif
对于self modify code 是dynarec领域中的老大难问题
另外确实如你所说,可以一条一条翻译解释执行,cpu里面确实也这么搞,但是不要忘了cpu里面是硬件执行,软件解释执行会有20~~200倍的性能损失 而且不仅只是代码的翻译,举例说,翻译以后指令数目变动了,内存地址要重新映射,不同架构的CPU对内存对齐的要求不一样,数据要做相应的调整等等,要解决的问题太多了 猫少呢,即时编译,你们说的是NDS模拟器吧 引用第52楼half_angel于2011-05-19 17:20发表的:
微软还是先把编译器搞出来再说 images/back.gif
微软自家至少有AlphaMIPS ARM POWER X86 X64的编译器,你说还需要搞哪种? 引用第53楼532于2011-05-19 17:28发表的 :
猫少呢,即时编译,你们说的是NDS模拟器吧 images/back.gif
JIT Recompiler是近现代模拟器标配
引用第51楼masterfish于2011-05-19 17:08发表的 :
现在真的“跨平台”不是flash、html5和javascript吗? images/back.gif
这仨货色第一个跨毛平台,先上了iOS再说;后两个跨平台了是不假,可惜不跨浏览器
引用第54楼鉴胸真人于2011-05-19 17:28发表的:
微软自家至少有AlphaMIPS ARM POWER X86 X64的编译器,你说还需要搞哪种? images/back.gif
你忘数IA64了
MS的编译器不说顶尖,算在第一梯队是没问题的 arm就arm
htpc上最多用用
难道还指望黄老板 丹佛计划么 100倍这牛皮
outel 干掉他 囧 其实我想说的是 Xbox 360 (PowerPC) 模拟 Xbox (x86) 完全可行…绝对是黑科技… 只知道就目前来说
.net compact framework和.net framework算是部分兼容的
写个简单的C#程序做到同时能在arm9的ce和x86的win7上运行是可以做到的(hello world什么的.........
页:
1
[2]