tiled作為乙個通用的2d地圖編輯器, 對於功能擴充做了一些考慮, 比例載入/輸出第三方的檔案格式. 不過分析下來, 能擴充的功能有限, 像ui面板之類的功能擴充套件就沒有提供支援, 但是參考已經有的介面可以很方便地實現
qt本身就對外掛程式機制提供了完善的支援, 對於應用程式, 外掛程式一般是以dll的方式存在, 在程式執行時動態載入. dll中實現已經在主程式中定義好的抽象介面, 然後主程式這邊只需要使用這些抽象介面去呼叫外掛程式中實現的各種自定義功能了.
通過qdiriterator用去遍歷plugins目錄下的檔案, 使用qpluginloader載入dll, 並返回乙個qobject物件
所有的外掛程式在執行時都是以qobject的形式儲存在pluginmanager裡, 並且都有乙個對應的名字, 用查詢索引
因為外掛程式中實現的qobject都實現了主程式中定義好的介面, 所以在訪問相應介面功能時, 只需要進行動態型別轉換, 就可以實現該物件有沒有實現相應的介面了:
Tiled原始碼分析 一 GUI編輯和布局
mfc,winforms,wpf,qt算是都折騰過,就差wxwigets了 比較下來,做遊戲 引擎 工具開發的話,最重要的是易上手,好維護,開發快,綜合下來還是滾回c 陣營,選擇了qt 不用不知道,其實傳統的qt widgets用起來跟winforms非常像,甚至qt quick的特性跟wpf有的一...
HiveHA機制原始碼分析
hive讓大資料飛了起來,不再需要專人寫mr。平常我們都可以用基於thrift的任意語言來呼叫hive。不過愛恨各半,hive的thrift不穩定也是出了名的。很容易就出問題,讓人無計可施。唯一的辦法就是不斷kill,不斷restart。當然,我們可以用haproxy來解決這個問題,關鍵,hapro...
思科VPP原始碼分析(dpo機制原始碼分析)
vpp的dpo機制跟路由緊密結合在一起。路由表查詢 ip4 lookup 的最後結果是乙個load balance t結構。該結構可以看做是乙個hash表,裡面包含了很多dpo,指向為下一步處理動作。每個dpo都是新增路由時的乙個path的結果。dpo標準型別有 dpo drop,dpo ip nu...