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

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)后,才能够被“运行系统”使用;

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

  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

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

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

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

最新文章

  1. css权值计算
  2. 一行代码解决各种IE兼容问题IE8,IE9,IE10
  3. cocos2d-x使用AssetsManager类实现资源的在线更新
  4. centos6.x下手工安装二进制Docker v1.1x
  5. freeCodeCamp:Confirm the Ending
  6. SilverIight数据绑定实例
  7. CreateDIBSection函数
  8. Lombok 安装
  9. 写在十年 2007-09-15 (写给L之三)
  10. 创建第一个UI
  11. python 连 mongodb
  12. unity插件开发——MenuItem
  13. sys 模块的应用
  14. python - 代码练习 - 差异备份/同步更新
  15. 【Python】批量爬取网站URL测试Struts2-045漏洞
  16. 诺基亚S40手机联系人导入安卓手机
  17. [Cubieboard] 在 Cubieboard 上安装 Node.js 和 npm
  18. HDU 2157(矩阵快速幂)题解
  19. array_column()提取二维数组中某个值
  20. Latex排版全解

热门文章

  1. cocos2d-js引擎学习笔记
  2. gulp学习笔记(一)
  3. javascript 中的call和apply
  4. Struts2权威指南笔记
  5. line-height:2、line-height:2em、line-height:200%的区别
  6. Constraint where both columns cannot be null, but one can
  7. javascript基础(三)运算
  8. web.py 学习(二)Worker
  9. uhttpd配置文件分析
  10. DELPHI中MessageBox的用法 (转)