MFC提供了三種不同的方式支持DLL的開發(fā): 1.建立靜態(tài)鏈接MFC的常規(guī)DLL(Regular DLL) 2.建立動態(tài)鏈接MFC的常規(guī)DLL 3.建立動態(tài)鏈接MFC的擴(kuò)展DLL(Extension DLL) 擴(kuò)展DLL與常規(guī)DLL的區(qū)別在于: (1)MFC的擴(kuò)展DLL支持C++接口,即擴(kuò)展DLL能夠?qū)С稣麄€(gè)C++類。這就是說,我們可以從已有的MFC類派生新的可再用類。擴(kuò)展DLL在建立時(shí)使用的是MFC的動態(tài)鏈接,因而擴(kuò)展DLL要求客戶程序動態(tài)地鏈接到MFC動態(tài)庫。擴(kuò)展DLL的一個(gè)特點(diǎn)是尺寸很小,能夠很快加載。 (2)常規(guī)DLL可被任意win32編程環(huán)境加載。它的局限性在于常規(guī)DLL只能導(dǎo)出標(biāo)準(zhǔn)C接口,不能導(dǎo)出C++類。但在常規(guī)DLL內(nèi)部,仍然可以使用C++類及MFC類。 (3)常規(guī)DLL能夠采用顯示鏈接或隱式鏈接,而擴(kuò)展DLL只能采用顯示鏈接。 靜態(tài)鏈接MFC的DLL與動態(tài)鏈接MFC的DLL的區(qū)別在于: (1)靜態(tài)鏈接MFC的DLL將拷貝所有需要的MFC的代碼,成為自我包含的模塊,可獨(dú)立于MFC的DLL庫而運(yùn)行,但DLL的代碼尺寸會較大。 (2)動態(tài)鏈接MFC的DLL在運(yùn)行時(shí)動態(tài)鏈接MFC類庫,因而DLL的代碼尺寸會大大減小,但必須確保在運(yùn)行的系統(tǒng)上有合適版本的MFC DLL庫。
新聞熱點(diǎn)
疑難解答