一、寫在前面
不管是靜態庫還是動態庫,都給我們編寫程式提供了一種方便使用外部函式的方式。工作上遇到一個問題,背景如下:
需要將新的涉及到AI模型部署的程式碼嵌入到原有舊的MFC應用當中,這個新的AI模型程式碼原本是在Linux上面進行編寫編譯的,直接匯入MFC工程存在幾個問題:
- 程式碼當中涉及到Linux的API,Windows系統存在不支援的情況
- 舊的MFC程式碼C++編譯標準太低,很多函式已經被新的C++標準丟棄了。
在經過API的修改、以及嘗試將AI推理程式碼直接嵌入MFC應用被瘋狂的報錯之後,打算採取這樣的方式,將AI推理程式碼編輯成靜態庫,這樣兩套程式碼可以在不同的標準下執行,同時之後即使AI推理程式碼更新,只要介面沒有發生變動,就不必對MFC應用打工干戈。