dll文件默認(rèn)打開方式 應(yīng)用程序擴(kuò)展〈dll>是什么意思?
應(yīng)用程序擴(kuò)展〈dll>是什么意思?DLL文件(DynamicLinkableLibrary即動態(tài)鏈接庫文件),是一種可執(zhí)行文件,它允許程序共享執(zhí)行特殊任務(wù)所必需的代碼和其他資源比較大的應(yīng)用程序都由很多
應(yīng)用程序擴(kuò)展〈dll>是什么意思?
DLL文件(DynamicLinkableLibrary即動態(tài)鏈接庫文件),是一種可執(zhí)行文件,它允許程序共享執(zhí)行特殊任務(wù)所必需的代碼和其他資源比較大的應(yīng)用程序都由很多模塊組成,這些模塊分別完成相對獨(dú)立的功能,它們彼此協(xié)作來完成整個軟件系統(tǒng)的工作??赡艽嬖谝恍┠K的功能較為通用,在構(gòu)造其它軟件系統(tǒng)時仍會被使用。在構(gòu)造軟件系統(tǒng)時,如果將所有模塊的源代碼都靜態(tài)編譯到整個應(yīng)用程序EXE文件中,會產(chǎn)生一些問題:一個缺點(diǎn)是增加了應(yīng)用程序的大小,它會占用更多的磁盤空間,程序運(yùn)行時也會消耗較大的內(nèi)存空間,造成系統(tǒng)資源的浪費(fèi);另一個缺點(diǎn)是,在編寫大的EXE程序時,在每次修改重建時都必須調(diào)整編譯所有源代碼,增加了編譯過程的復(fù)雜性,也不利于階段性的單元測試。Windows系統(tǒng)平臺上提供了一種完全不同的較有效的編程和運(yùn)行環(huán)境,你可以將獨(dú)立的程序模塊創(chuàng)建為較小的DLL文件,并可對它們單獨(dú)編譯和測試。在運(yùn)行時,只有當(dāng)EXE程序確實(shí)要調(diào)用這些DLL模塊的情況下,系統(tǒng)才會將它們裝載到內(nèi)存空間中。這種方式不僅減少了EXE文件的大小和對內(nèi)存空間的需求,而且使這些DLL模塊可以同時被多個應(yīng)用程序使用。Windows自己就將一些主要的系統(tǒng)功能以DLL模塊的形式實(shí)現(xiàn)。一般來說,DLL是一種磁盤文件,以.dll、.DRV、.FON、.SYS和許多以.EXE為擴(kuò)展名的系統(tǒng)文件都可以是DLL。它由全局?jǐn)?shù)據(jù)、服務(wù)函數(shù)和資源組成,在運(yùn)行時被系統(tǒng)加載到調(diào)用進(jìn)程的虛擬空間中,成為調(diào)用進(jìn)程的一部分。如果與其它DLL之間沒有沖突,該文件通常映射到進(jìn)程虛擬空間的同一地址上。DLL模塊中包含各種導(dǎo)出函數(shù),用于向外界提供服務(wù)。DLL可以有自己的數(shù)據(jù)段,但沒有自己的堆棧,使用與調(diào)用它的應(yīng)用程序相同的堆棧模式;一個DLL在內(nèi)存中只有一個實(shí)例;DLL實(shí)現(xiàn)了代碼封裝性;DLL的編制與具體的編程語言及編譯器無關(guān)。