porting,顾名思义就是将在别的平台运行正常的程序或函数库移植到我们的机器上,简单地说,就是利用现有的程序资源,避免浪费重复开发的人力资源与时间,一般来说需要porting 的程序都是属于较专业领域的技术,我们只需要微调,就可以让这些模块在我们的硬件平台上执行。这些程序模块的可能来源为:
1.其他项目的程序。即曾经开发过的技术或程序模块,也可以说是研发团队或公司的技术资产。虽然原本这些程序可能运行于不同的CPU,但我们可以取得它的source code与技术文件,只要这个技术并非与硬件直接相关,稍作修改(或根本不需修改)就可以应用在新的项目中。实务上我们倾向沿用既有的系统架构,所以可能大规模地重复使用其他项目的成果,例如图形接口子系统,ROM文件系统,网络通信协议等。
2.open source的函数库。近年来开放原始码的观念大为流行,几乎什么样的应用都可以找到开放原始码的程序,尤其是Linux,它简直就是技术人员的宝库。
3.third party 厂商开发的函数库。
(从另一个角度来看,很多工程师会把时间卡在看懂每一行程序,其实这是一个错误的思路,如果你在做算法研究,那确实应该看懂它,否则直接使用它就行了。工程师生涯中要经手的程序何其多,我们没有必要至尊看懂每一行代码。) |