Java C# .net 和 C C++ 跨平台的异同之处

当前主流的手机平台很多,而各个主流的平台的语言支持大同小异;如

   1、windows系统WP8上主要支持 VB, C#, c/c++, 

   2、苹果系统ios上支持 object-c, c/c++

   3、android系统上支持 java, c/c++

C# .net Java的跨平台是指它们在“编译系统”生成的中间文件的字节码(byte code)文件不需要重新编译,就可以直接被“运行系统”使用;

    C/C++的跨平台是指不要重新写代码,需要重新编译成“运行系统”对应的机器码(binary code)后,才能够被“运行系统”使用;

     如下图所示(所有的名词的叫法以下图为准):


Java, C#的跨平台是建立在“虚拟机”的基础上的,通过虚拟机在程序运行时将“编译系统”生成的字节码(byte code) 转换成“运行系统”的机器码(binary code),属于解释性语言;

       C / C++是在“编译系统”上直接将代码生成“运行系统”上的机器码(binary code),属于编译性语言;

 java, C#的跨平台受“虚拟机”的限制,如:

            1、.net环境只在windows上有,linux(Android)和unix(ios)都不支持;

           2、Java手机平台主要是Android支持,windows(WP8)和mac(ios系统)都不支持;

           3、.net ,和Java虚拟机在xp系统上默认是没安装的;

           4、xp系统不支持.net的高版本,如.net 4.5

      c/c++不受虚拟机的限制,只要能够编译成“运行系统”的“机器码”即可,这也是为什么现在大量的跨平台应用开发采用c/c++的原因;


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值