DLL 是一個(gè)包含可由多個(gè)程序同時(shí)使用的代碼和數(shù)據(jù)的庫(kù)。例如,在 Windows 操作系統(tǒng)中,Comdlg32 DLL 執(zhí)行與對(duì)話框有關(guān)的常見函數(shù)。因此,每個(gè)程序都可以使用該 DLL 中包含的功能來(lái)實(shí)現(xiàn)“打開”對(duì)話框。這有助于促進(jìn)代碼重用和內(nèi)存的有效使用。
通過(guò)使用 DLL,程序可以實(shí)現(xiàn)模塊化,由相對(duì)獨(dú)立的組件組成。例如,一個(gè)計(jì)帳程序可以按模塊來(lái)銷售??梢栽谶\(yùn)行時(shí)將各個(gè)模塊加載到主程序中(如果安裝了相應(yīng)模塊)。因?yàn)槟K是彼此獨(dú)立的,所以程序的加載速度更快,而且模塊只在相應(yīng)的功能被請(qǐng)求時(shí)才加載。
此外,可以更為容易地將更新應(yīng)用于各個(gè)模塊,而不會(huì)影響該程序的其他部分。例如,您可能具有一個(gè)工資計(jì)算程序,而稅率每年都會(huì)更改。當(dāng)這些更改被隔離到 DLL 中以后,您無(wú)需重新生成或安裝整個(gè)程序就可以應(yīng)用更新。
本文說(shuō)明什么是動(dòng)態(tài)鏈接庫(kù) (DLL) 以及在使用 DLL 時(shí)可能發(fā)生的各種問題。
然后,本文說(shuō)明在開發(fā)您自己的 DLL 時(shí)應(yīng)該考慮的一些高級(jí)問題。在說(shuō)明什么是 DLL 的過(guò)程中,本文將說(shuō)明動(dòng)態(tài)鏈接方法、DLL 依賴性、DLL 入口點(diǎn)、導(dǎo)出 DLL 函數(shù)以及 DLL 故障排除工具。
本文最后將從較高的層次對(duì) DLL 與 Microsoft .NET Framework 程序集作一比較。
對(duì)于“適用于”一節(jié)中列出的 Microsoft Windows 操作系統(tǒng),操作系統(tǒng)的大量功能是由動(dòng)態(tài)鏈接庫(kù) (DLL) 提供的。另外,當(dāng)您在這些 Windows 操作系統(tǒng)之一上運(yùn)行某一程序時(shí),該程序的很多功能可能是由 DLL 提供的。例如,某些程序可能包含很多不同的模塊,而該程序的每個(gè)模塊都包含在 DLL 中并從中分發(fā)。
使用 DLL 有助于促進(jìn)代碼的模塊化、代碼重用、內(nèi)存的有效使用和減少所占用的磁盤空間。因此,操作系統(tǒng)和程序能夠更快地加載和運(yùn)行,并且在計(jì)算機(jī)中占用較少的磁盤空間。
當(dāng)程序使用 DLL 時(shí),一個(gè)稱為依賴性的問題可能導(dǎo)致該程序無(wú)法運(yùn)行。當(dāng)程序使用 DLL 時(shí),就會(huì)創(chuàng)建一個(gè)依賴項(xiàng)。如果其他程序改寫和損壞了該依賴項(xiàng),原來(lái)的那個(gè)程序就可能無(wú)法成功運(yùn)行。
在引入 Microsoft .NET Framework 之后,大多數(shù)依賴性問題都已經(jīng)通過(guò)使用程序集消除了。
....了解更多進(jìn)入DLL幫手網(wǎng) http://www.dllbang.com
聯(lián)系客服