※ 引述《ia64mckinley (紅色飛天豬)》之銘言:
: ※ 引述《alvinli (alvin)》之銘言:
: : 不要扁低了porting這件事情..
: 推不要貶低了porting這件事情...
: 這是一件很需要耐心跟毅力 還有對作業系統及架構有感覺的工作
: 不但需要對作業系統每一環節都很熟析 對硬體架構也要有很通透的了解
: : porting的意思是同樣一個專案再各種平台上因為硬體可能不同造成平台不相容的時候,
: : 將這樣的project移植到各平台去..
: : 像是同樣的c program到windows下可以跑, 但是到linux下因為os不同,
: : 執行方式有差異造成不能跑, 或是像是到mac去硬體根本不同了, cpu指令集不一樣,
: : 所以必須重編, 或者甚至換個compiler就不能跑了, 因為有compiler嚴謹性的問題.
: : 像我們同樣一個project要在linux, WinCE, NuCleus, Symbian等許多平台上都work,
: : 所以必須花時間把每個project port到不同平台去, 用各平台的compiler去build,
: : 且再各平台上驅動程式的架構都不一樣,
: : windows上有dll但是其他mobile OS沒有這種觀念, 即便是winCE,
: : 同樣的dll也不能放上去直接跑, 有些是kernel mode driver 有些是user mode driver,
: : 各平台要求的不一樣, 所以必須各自build, 甚至framework必須重寫.
: : 絕對不是什麼抄人家code這麼簡單..=.=
Orz 我是開玩笑的大家都沒看出來...真不懂幽默
其實我碩一作的就是port一堆opensource到自己的一套系統
而且最後委任單位還要我們把linux上的東西弄到Solaris上,
眾所皆知,Solaris如果不是很龜毛的人是絕對不會想去碰的
我們的project還不是crosscompile這麼簡單
而是這裡挖一塊那裡挖一塊出來,組一碗雜碎麵
opensource的基本資料結構都跟我們規劃的程式不太一樣
因為deadline的關係,就必須馬上找到切入點,沒時間去從頭看到尾
有時候port別人的東西反倒比自己看Spec硬寫還難
可是一開始決策錯誤就只好硬幹下去了
別人定義出來的基礎資料結構都必須概括承受
不過好家在那些寫code的老外都還蠻注重code reuse的
有些人雖然沒有打算要讓別人重新使用
但是整體架構上還是保留擴充性
好像離題了,不過我只是想解釋我沒有貶低porting
我只是把抄作業的行為也歸類到Porting的一種...XD
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.17.110