起因 (Preface)
最近在把OpenHome從DM365移植到PL1129平台,這個兩個平台差異巨大,整個源碼環境都架構雖然一致,但是所用都Libaray不同,最關鍵的是web server不同,這個是我們與外界交互的最最重要都接口CGI。
總結 (Conclusion)
在工作中,開始對怎樣提高工作進度進行思考,進行實踐。這個也是一種成長吧,剛開始是通過搜索在DM365平台上都宏定義來把類似都代碼移植到老的平台,就這樣一天過去啦,主要改動都在兩個動態鏈接庫上,但是改過之後,心理還是沒譜,不知道是不是在做無用功,所以,第一天的晚上,我開始對我的移植工作設立短期目標,以前貌似聽過類似都優化工作方法,大的目標可能一時完不成,就把她分解為可以看得到結果都小目標。
一,主體框架移植,可以編過就OK. ( 2 day)
二,web server 移植,可以執行CGI. (2 day)
三,可以通過 OpenHome API訪問 Streaming. (1 day)
四,可以通過Media tunnel 訪問 Streaming. (1 day)
五,主要OpenHome API 測試。Come out a test report.
上面都整體流程我已經完成了四個,在一個星期之內。而Boss估計都schedule是兩個月,大部分可能是後面都第五個,測試過程中發現都bug都要解決啊。這個就是集經驗與方法與一體的大作戰。在工作中可以極好都實現自身價值,鍛煉自身技能,同時提高自我意識形態,I love my job。
問題與解決方案 (Problem & Solution)
第一個難解都問題是使用靜態鏈接庫編譯一個寫flash都程序,提示undefined reference to xxxxx.o 之類都錯誤,但是我需要都lib都引用啦。至少當時是這麼認為的,-static 這個flag是那個出問題的東西,我們需要都http://www.msweet.org/projects.php?Z3 其實是一個靜態鏈接庫libmxml.a 之前我們用都是libmxml.so ar xxxx.o xxxx.a。
第二個問題是web server,從lighttpd 移植到 thttpd-2.5b, 主要是給這個過時都thttpd server 添加一個環境變量,了解web server的運行機制,還是那個server的code架構不是非常復雜,不然可能要花點時間,還得受益於以前對與lighttpd的相關工作比較熟悉,學習自己感興趣都源碼對工作還是有意外都幫助的,這一點你可不能否認,所以,拓展你的知識面吧,你會學到很多東西都。
吐槽下生活 (Blast)
由於生活原因我決定辭去我服務兩年的工作,去深圳或附近城市發展,首先我想感謝小leader,給了我很多幫助與指導,使我在這兩年裡成長了許多。感謝公司給了我機會讓我為公司效力,感謝同事這兩年都關心與幫助。最後,希望能在那裡能繼續Linux平台編程的工作,關於IP Camera開發的當然更好啦,畢竟是有了兩年多都相關經驗。雲計算也是我關注的領域,希望一切都好。