zoukankan      html  css  js  c++  java
  • 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 不是跨平台的吗,它们和C/C++的跨平台有什么区别?

        方便他人亦是方便自己,如果觉得还行就点下赞吧,这样可以帮助其他人更快的找到解决问题的方法;有疑问的也可留言哦, 谢谢!

    工具/原料

    • Visio
    • Win7

    方法/步骤

    1.  

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

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

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

      Java C# .net 和 C C++ 跨平台的区别
    2.  

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

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

    3.  

            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++的原因;

    4. 4

          被人夸的跨平台的解释性语言,最后也没能跨上跨平台的梦;

          被人讽刺的不能夸平台的编译性语言,却成就了跨平台的梦;

          跨平台背后,一个美丽的诱惑,一个相反的梦;

  • 相关阅读:
    在C#中,不安装Oracle客户端如何连接Oracle数据库
    敏捷宣言(四) 猪和鸡的故事
    敏捷宣言(六) 单单有敏捷就够了吗?
    敏捷宣言(五) 看板是另外一种敏捷实践
    敏捷宣言(七) 软件系统
    小白知识摘录__进程和线程
    Linux系统修改/etc/sysconfig/i18n文件,桌面无法正常显示
    小白知识摘录__环境变量
    hive表查询中文显示乱码
    3月10日晚
  • 原文地址:https://www.cnblogs.com/langren1992/p/4634993.html
Copyright © 2011-2022 走看看