基于COM的輕量級組件技術(shù)的簡(jiǎn)單實(shí)現
2.4 配置文件
配置文件主要用來(lái)標識當前程序所需要加載的組件,以及組件的位置。配置文件可分為兩部分:
第一部分用于標識加載的組件和加載順序;第二部分用于標識組件的位置。圖8所示是配置文件的信息示意圖。
DLL/SO組件編寫(xiě)規則
輕量級組件技術(shù)要求組件DLL/SO應按照約定的格式編寫(xiě),只有組件庫加載后,才能為客戶(hù)端創(chuàng )建組件接口指針。
一個(gè)類(lèi)似于IUnknown的基接口,通常是所有接口都需要繼承的,其代碼如下:
Release函數可用來(lái)釋放組件接口對象。
每個(gè)DU/SO中都需要有一個(gè)類(lèi)實(shí)現IPlugin接口,該類(lèi)稱(chēng)為組件類(lèi),Init函數在ExtensionSysten中被調用時(shí),可以在其中完成組件的初始化工作,其具體代碼如下:
每個(gè)組件DLL/SO都需要導出一個(gè)創(chuàng )建接口的函數,形式如下:
4 結束語(yǔ)
QT本身提供有插件機制,但是,加載方式對用戶(hù)是不可見(jiàn)的,因此,出現問(wèn)題后,往往不利于調試。而本文所述的組件編寫(xiě)方式和加載方式使用約定的形式,這種形式并不局限于QT中,而是在支持標準c++的編譯環(huán)境中都可以使用,因而是一種通用的輕量級組件技術(shù)。
評論