mydy.net
当前位置:首页 >> 为什么JAvA可以跨平台C/C++不可以吗 >>

为什么JAvA可以跨平台C/C++不可以吗

Java确实是跨平台的,而C++不是,其原因为Java并不直接编译为机器语言,而是先编译为中间语言.在各个平台上均有Java虚拟机,可以对此中间语言解释执行,所以说它是跨平台的.而C++是直接编译成机器语言的,这种语言在不同的机器上有不同的格式,同一个C++程序,由它所编译成的执行文件往往不能在另一个平台的机器上运行.至于C++作为主流的编程语言,那是没错的,但它直接写出的是源程序,源程序是不可以直接运行的,我们买一个软件产品,是买它的可执行代码,而不是买它的源程序,比如:我们买一个游戏,应该直接能玩的,厂家给我们源代码,大部分的买家也是看不懂的.

JAVA的程序是运行在JAVA虚拟机里面的,所以才能跨平台.但是JAVA虚拟机有不同平台版本.比如Linux版和Windows版本.所以你写的程序JAVA不用移植,但是要在不同平台安装相应版本虚拟机.而C本身是在操作系统环境OS下运行的,不同平台编译支持的不一样.所以在换了平台以后由于运行环境不一样需要移植.不想JAVA都是在虚拟机里面运行.

java 代码打包成jar包可以通过不同平台jvm运行而c是直接编译成exe的,在windows下可以运行,其他操作系统是不识别的其实java跨平台说白了 就是在代码和操作系统之间加了一层jvm,不同类型的jvm和不同的操作系统交互.

因为java程序是在java虚拟机上运行的..不同的平台不同虚拟机..这样就实现了跨平台..

那是因为java是运行在jvm上的,不是在硬件上,而C能直接运行在硬件上,对硬件限制比较多

因为java程序运行于JVM,而不同的操作系统只要安装了JVM就可以运行java程序了.

因为Java程序编译之后的代码不是能被硬件系统直接运行的代码,而是一种“中间码”字节码.然后不同的硬件平台上安装有不同的Java虚拟机(JVM),由JVM来把字节码再“翻译”成所对应的硬件平台能够执行的代码.因此对于Java编程者来说,不需要考虑硬件平台是什么.所以Java可以跨平台.而C/C++不可以跨平台的原因就是编译后的代码在特定的硬件上可以直接执行,换个硬件平台这些代码就不能被执行了.不过正是因为可以直接执行,所以C/C++程序的执行效率要比Java程序高

答:Java确实是跨平台的,而C++不是,其原因为Java并不直接编译为机器语言,而是先编译为中间语言.在各个平台上均有Java虚拟机,可以对此中间语言解释执行,

可以跨平台

因为java的运行时靠虚拟机的,针对不同的系统有不同的虚拟机所以java可以在跨平台

网站首页 | 网站地图
All rights reserved Powered by www.mydy.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com