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