DLL(Dynamic Link Library)文件為動態(tài)鏈接庫文件,又稱“應(yīng)用程序拓展”,是軟件文件類型。
正常,notepad默認(rèn)語言是Normal Text,與DLL本來就不是同一文件類型,所以打開是亂碼。(推薦學(xué)習(xí):notepad的使用)
在Windows中,許多應(yīng)用程序并不是一個完整的可執(zhí)行文件,它們被分割成一些相對獨立的動態(tài)鏈接庫,即DLL文件,放置于系統(tǒng)中。
當(dāng)我們執(zhí)行某一個程序時,相應(yīng)的DLL文件就會被調(diào)用。一個應(yīng)用程序可使用多個DLL文件,一個DLL文件也可能被不同的應(yīng)用程序使用,這樣的DLL文件被稱為共享DLL文件。
DLL文件中存放的是各類程序的函數(shù)(子過程)實現(xiàn)過程,當(dāng)程序需要調(diào)用函數(shù)時需要先載入DLL,然后取得函數(shù)的地址,最后進(jìn)行調(diào)用。
使用DLL文件的好處是程序不需要在運行之初加載所有代碼,只有在程序需要某個函數(shù)的時候才從DLL中取出。另外,使用DLL文件還可以減小程序的體積。
動態(tài)鏈接庫是早期Windows系統(tǒng)由于受限于當(dāng)時計算機(jī)內(nèi)存空間較小的問題而出現(xiàn)的一種內(nèi)存優(yōu)化方法。
當(dāng)一段相同的子程序被多個程序調(diào)用時,為了減少內(nèi)存消耗,可以將這段子程序存儲為一個可執(zhí)行文件,當(dāng)被多個程序調(diào)用時只在內(nèi)存中生成和使用同一個實例。
在 Windows操作系統(tǒng)中,每個程序都可以使用該 DLL 中包含的功能來實現(xiàn)“打開”對話框。這有助于促進(jìn)代碼重用和內(nèi)存的有效使用。
通過使用 DLL,程序可以實現(xiàn)模塊化,由相對獨立的組件組成。
例如,一個記賬程序可以按模塊來銷售。可以在運行時將各個模塊加載到主程序中(如果安裝了相應(yīng)模塊)。因為模塊是彼此獨立的,所以程序的加載速度更快,而且模塊只在相應(yīng)的功能被請求時才加載。
此外,可以更為容易地將更新應(yīng)用于各個模塊,而不會影響該程序的其他部分。
例如,您可能具有一個工資計算程序,而稅率每年都會更改。當(dāng)這些更改被隔離到 DLL 中以后,您無需重新生成或安裝整個程序就可以應(yīng)用更新。