Windows平台程序和Android平台程序的差异

本文探讨了Windows和Android平台在程序开发中的主要差异,包括数据处理(JVM与小端/无符号处理),C语言特性(指针与数组操作),底层指令(SIMD处理),以及VisualC++和NDK之间的依赖性差异,如数据类型定义、文件操作、MFC和日志处理的移植问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Windows平台程序和Android平台程序的差异
1 Windows平台环境和Android平台JVM虚拟机的差异:
  1)由于JVM虚拟机上的数据是大端处理的,而Windows平台上的数据是小端的,所以在一些数据的处理上需要进行转换;
  2)由于JVM虚拟机上的数据类型都是无符号的,而Windows平台上的数据类型是区分符号和无符号的,所以一些无符号数据类型需要进行特殊的处理;
  3)Windows平台上的数据类型比较灵活,比如整形和枚举可以进行相互转换,JVM虚拟机上就需要编写相应的枚举类进行转换;
  4)C语言中的数组,指针可以从中间某个位置进行操作,Java不行,可以用index指引操作的位置,模拟指针操作在原来的数据上;
  5)比如C语言里面的memcpy操作,Java需要拷贝;System.arraycopy();
2 Windows X86底层指令如SIMD的处理,有些超声成像系统的算法为了提高性能,使用了指令处理如SIMD,需要进行相应的转换才能运行在安卓平台上;
3 对比Windows Visual C++和Android NDK C++的差异:
  1)有些数据类型的定义有区别,比如字符串,字符指针等,通过头文件定义来处理其中的差异;
  2)对一些VC环境依赖的代码,比如文件操作等,需要进行特殊处理,就是进行重新编写相应的代码;
  3)对一些VC环境依赖MFC的代码,需要在安卓环境下面进行重新编写;
  4)对一些VC环境日志处理的代码,需要在安卓环境下面进行重新编写;
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值