小白学习记录-代码的移植

小白学习记录-代码的移植

从字面上理解,可移植性说的就是,在一个平台上开发的代码,通过比较少的改动就能够在另外一个平台上使用。不同的平台可以指具有不同的处理器架构,比如x86和arm;或不同的操作系统,比如windows和linux。程序语言最终会被编译器编译成处理器可以理解的指令,不同的平台编译器或有差别,因此要将代码从一个平台移植到另一个平台,有时会需要对代码做些修改。一般来说,高级的语言具有比较好的可移植性,因为没有太多依赖于处理器的约束。在开发程序的时候,需要有很好的分层思想,或者对于一些可能不好移植的代码也可以通过写成独立模块的方式,便于未来进行移植。

对于android操作系统,不同的芯片厂商可能会有不同的底层实现,但最终会依据行业标准提供统一的接口。因此,基于c或c++开发的程序只需要利用android ndk编译成库(.so)打包进android apk,就可以在不同的平台上(x86 + android / arm + android)使用了。

若原本的c代码是为x86 + windows平台开发的,而最终需要移植到arm + android平台上。则首先需要针对c程序进行修改以适配linux系统,比如一些多线程的操作可能在windows下的写法会和在linux下的不同。接着再利用android ndk将修改后的c代码编译成库打包进android apk...就算完成来代码的移植了。

对于生活中的例子,比如华为和小米手机,都可以从app store上下载同一个app,因为这些app都是为android系统开发的,而华为和小米都是在android平台上,支持同一标准的;google daydream平台也将有可能会为vr移动端提供统一的标准,而华为小米htc等手机厂商也都已经加入daydream平台。

相关推荐

比亚迪dmi四种模式使用说明
365买球平台下载苹果

比亚迪dmi四种模式使用说明

📅 07-16 👁️ 1214
运动化骑姿新中量级街跑,2021雅马哈YZF-R7发布!
365bet网投官网

运动化骑姿新中量级街跑,2021雅马哈YZF-R7发布!

📅 07-12 👁️ 1091
剑网3重制版科举全攻略:解锁科举成就,成就你的江湖状元梦!
手机网络随意切换,Android用户必看的小技巧与潜在问题解析!
苹果IOS手机端该如何连接PPTP?
beat365手机下载

苹果IOS手机端该如何连接PPTP?

📅 06-29 👁️ 3121
机器人游戏哪些值得玩 2024机器人游戏排行榜前十
365买球平台下载苹果

机器人游戏哪些值得玩 2024机器人游戏排行榜前十

📅 07-07 👁️ 9190