昨天有一个博友回复,说他已经完成了android系统在windows上的移植,其中比较难的是binder系统的移植。下面是两个demo网址,我看了后倍有感触。
http://v.youku.com/v_show/id_XMzIwMDkxOTQ4.html
http://v.youku.com/v_show/id_XMzIwNzI2NTg4.html
这才是真正有技术含量的移植啊!
从做android开始,听到的最多的就是移植+merge了。但总感觉都是:
1 简单的把人家做好的,放到新的平台上,然后测试,修改。完完全全的改bug。甚至都不需要对系统,程序结构有什么深入的了解。
2 做linux驱动更是这样,到处去改参数,调板子。(个人感觉都被硬件绑架了..)。
什么后果?居然很多人一年都写不了几行代码!!!我知道google有一个美女程序员,每天都要花4个小时来写代码,没有什么别的特殊目的,就是为了保持脑子的灵活。
另外,那些刚工作的人,改改bug就完成工作,而又不写代码,让他们误以为程序员就是这样工作的,结果不去花时间研究系统(放着linux内核,android系统这种高质量,高复杂度的优秀源码不看。说实话,代码量不超过10w行以上的同志,真的怀疑能否看懂代码的真正意图,所以google校园招聘的时候,似乎对代码量有一定的要求),
【这里也请那些培训学校的老师们,稍微注重下教育质量,培训方法。】
我心目中的移植,是应该建立再对当前平台和目标平台的一个深刻认识上,再加上对要移植代码本身,程序结构得深入了解上才能做的。看看上面博友的移植,如果只会改几个bug,何年何月才能将android系统移植到windows上呢?
下面是我之前做的一份关于完成端口到linux平台上的移植的设计文档。这个设计由于各种原因,最终没有被讨论过,也没有(永远不会)被采用。
回想当时做这个移植,花了很多时间来调研完成端口的实现机制,来研究proactor和reactor的区别,来研究linx平台的特性。考虑到完成端口是Win平台最有效率的IO操作,那么在linux平台上实现自然也得考虑效率方面的问题。
虽然最终没有实现该设想,但却极大加深了对以上知识的认识,对以后的工作有非常大的帮助。
作为本篇的结尾,希望大家认真对待工作,从简单的移植工作中去发掘背后那块绝大的金矿,以提高自己的价值。
分享到:
相关推荐
ril移植ril移植ril移植ril移植
Linux移植之Step By Step
Android_移植之_iperf
安卓内核移植,抛砖引玉! Android系统移植(一)-让android系统在目标平台上运行起来 Android系统由于用的是linux内核,因此内核移植和嵌入式linux内核移植差异不大,过程如下: (1)移植boot-loader和linux2.6内核到...
arm9裸机开发 天嵌科技出品-Linux移植之Step By Step tq2440的详细开发步骤
ARM移植 GCC我用的是友善提供的4.3.2 ,arm-linux-gcc 这里是交叉编译用的。 开发板为S3C2440的MINI2440 128m,友善之臂的产品。
gsoap移植之wsdl文件,IPCAM,网络摄像头
Linux平台下EtherCAT主站移植相关操作,辅助开发测试参考
linux-2.6.28在mini2440上的移植之初步移植-http___www.usr.cc_bbs_thread-1456-1-1.pdf
OK6410 QTE移植教程之二 移植Tslib.rar 总共有6份
里面包含源码,还有文档描述如何移植,轻松完成移植
Linux下telnet移植
linux内核移植 笔记--移植指令 linux内核移植 笔记--移植指令 linux内核移植 笔记--移植指令
uCOS-II的移植要点小谈[参照].pdf
天嵌科技出品的linux移植教材,讲了在TQ2440开发板上运行Linux的具体步骤。
Cjson移植STM32方法
浅谈机场软件移植技术方案.pdf浅谈机场软件移植技术方案.pdf浅谈机场软件移植技术方案.pdf浅谈机场软件移植技术方案.pdf浅谈机场软件移植技术方案.pdf浅谈机场软件移植技术方案.pdf浅谈机场软件移植技术方案.pdf浅谈...
设计一个新的编译器往往需要几年的时间因此我们希望能找到一种缩短开发时间的方法修改已有的编译器就是一种有效的手段本文讨论的是GNU C编译器的移植GNU C编译器自身有许多符合移植的特点如支持不同系统的配置文件...
通过STM32F215实现驱动W5500