關於提高應用庫的平臺可移植性

最近review圖像處理ISP的API接口代碼,看到3A庫裏面時,發現應用通過3A庫的接口向庫註冊Linux平臺的memcpy, memset, printf等常用的C庫函數,當時不太理解爲什麼3A有這樣的需求,後來在看代碼時恍然大悟——3A庫是一個很通用的圖像處理庫,很多時候會被應用到多個平臺,比如Linux,RTOS等其他操作平臺,C庫函數雖然變化不大,但爲了避免移植時發生不兼容,乾脆直接提供基本的操作函數註冊接口以提高其可移植性,這一點非常值得學習。最近公司的其他員工在把ONVIF庫移植到GKOS(RTOS)平臺,居然直接在庫源碼裏面封裝了GKOS的memcpy等函數,再提供給庫調用,這種操作應該是不合理的,值得推薦的方法就是像前面提到的3A庫一樣,提供平臺操作註冊接口已避免直接修改庫內源碼。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章