java在各种操作系统平台提供不同的jre,然后就可以“一次编写,到处运行”了。不过用c不是也一样,只要对不同的平台编译成不同的代码不久完了。那何必要发明一种新东西呢?还设计出虚拟机,栈式机器,又慢。用c的话,自己的程序编译成相关平台的又不费事,别人的库又不用自己编译,直接下载别人编译好的适合自己平台的东西不就行了。除非是这种情况:比如十个公司,需要把自己的东西编译到3个平台上,这样一共需要编译30次。如果sun把这个工作做了,sun提供3个gre,这10个公司就不用做了,加起来一共13次,是因为这样能省时间吗?
解决方案 »
- 求Fibonacci数列:1,1,2,3,5,8,...第40个数的值.
- 如何利用JDBC捕获database的动态端口和静态端口
- JNI相关 我编写有了一c语言文件,没装visual c++ 怎么编译成dll
- 线称问题
- 着急,问个JDOM中的问题,怎么才能够重复地添加Element对象,50送!!!!
- 为什么出现在一台机器上用jbuilder7开发的程序在另外机器运行出现乱码?
- 请问如何在APPLET中实现调用显示另外一个html文件
- 请问J2SDK的环境变量是怎摸设置的,IN WIN98
- 书上例子不好使,各位兄弟帮改改!
- SpringMVC+Mybatis字段设置统一值
- Myeclipse安装之后运行不了eclipse了。
- 这个over 如何准确翻译呀?
微软的c#一直被java压制,主要就是不能unix上使用,而且开发功能上也不占优势。
-------------------------------------
不同的平台下,C的编译器也可能不同,C的lib,头文件等等也不同,那么,相同的程序就不一定能在不同的平台下编译,有可能需要改代码,否则就不存在移植这样的说法了。精通C的人,可能什么都能做,但是精通java的人,可能就只能做java。java只能做到jre提供的能力范围,超越jre的范围,java是做不到的(也没必要做到,否则jre就没意义了),就好像Linux的内核是用C写,java的虚拟机也是用C写的,这点java就做不到了。