C++语言为什么不引进类似于JAVA语言中JVM的机制,来达到跨平台的目的??

如题所述

操作系统就是用C/C++写的。
C/C++能够直接调用系统接口。
你知道Java为什么要JVM才能跑吗?因为他不能直接调用系统接口。
所以C/C++不需要虚拟机。
但是因为操作系统的不同,接口调用方式不同。所以C/C++不能跨平台。追问

谢谢!那C/C++可以通过人为地引入一种类似虚拟机的机制,由C/C++实现上层逻辑算法,由虚拟机来隐射到硬件来实现跨平台吗?是否C#就是基于这样的思想来跨平台的呢...

追答

C#就是这样。跟JAVA的虚拟机一样的机制。
如果你说C/C++引入一种类似虚拟机的机制。
OK那就不是C/C++了 。改名叫CJAVA好了

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-08-18
C++最初的设计目的是为了弥补C语言面向对象的不足,而这两种语言都是可以进行硬件底层开发的,Java程序运行于JVM,一般不用来开发底层应用,因为先天缺陷啊。C#有虚拟机机制。

总之,我理解的是语言的设计和它要在哪一个领域解决问题息息相关
相似回答