今年年初來到了新公司,而後對c++封裝dll做爲插件技術有了必定的認識,結合之前看的Ogre例子,我發現其實動態加載插件是一種很流行的技術。結合之前的box2d,openframeworks來看。目前看到了下面一種使用方式
c++
box2d的Testbed框架適合多種遊戲集成。簡單的方式
app
main ->glfw(提供繪圖 鼠標鍵盤等輸入事件)(遊戲庫所須要的)->Test(框架)(這裏已經算是一個比較完整的框架了)->ur game(主類)---(各類邏輯)
框架
->ur game(dll)------本身封裝成dll 而後在主函數中給下配置 (dll名,和導出函數)便可
函數
固然這裏面確定有更深一層的規律。工具
便可擴展部分---》提供高層接口 ----》而後底層各類各樣的實現插件
openframeworks是c++的一個框架,他的插件本身定製功能方面(爲了開發)很是強。他的程序運行方式和Testbed差很少。 main->glfw->ofBaseApp->各類各樣的app接口
在vs中他提供了一個genertor(生成器),經過吧插件放到指定目錄,按照指定格式,既能夠自動生成所須要的項目配置。
遊戲
在ogre的例子:他把全部的例子都生成dll,最後在主函數中進行組裝,最後造成了一個豐富demo的app。
事件
從上面的總結中能夠發現: 本身定製框架-> 本身生成能夠配置加載接口的文件->而後配置接口虛類-》開發
而後本身開發生成dll,放入相應目錄便可
固然配置文件更但願從網上更新,把本身新生成的插件等,放在網盤,而後經過自定義的下載工具進行下載,下載完成後進行調用