在使用電腦的時候。當(dāng)看到諸如“DLL文件損壞”、“程序找不到相應(yīng)的DLL文件”及“DLL無法初始化”的提示出現(xiàn)時,系統(tǒng)和程序就無法啟動了。很多朋友常常不知所措。那這該死的DLL文件是什么?它與我們熟知的系統(tǒng)和程序又有著怎樣千絲萬縷的關(guān)系呢?在遇到DLL文件引起的故障時,我們該如何解決?帶著這些疑問,隨著本文一步步走入它的神秘殿堂吧。
DLL究竟是什么
DLL的全稱是Dynamic Link Library,中文名叫動態(tài)鏈接庫。究竟是什么意思呢?這樣說吧,它就是一個可以被其它應(yīng)用程序共享的程序模塊,和可執(zhí)行文件非常相似。不同的是,動態(tài)鏈接庫中雖然包含了可執(zhí)行代碼,卻不能單獨執(zhí)行,而應(yīng)由應(yīng)用程序直接或間接調(diào)用。一個應(yīng)用程序可以包含多個DLL文件,而一個DLL文件也可以被多個應(yīng)用程序調(diào)用。程序不同。調(diào)用的DLL文件也不同。通常情況下,DLL文件大多存放在C:\\Windows(c為系統(tǒng)文件所在的盤符)中的system和system32文件夾中。
DLL文件損壞了,該怎么辦
刪除軟件、誤操作、程序意外崩潰,病毒作祟等都可以引起DLL文件丟失或損壞。DLL文件丟失或損壞,就會引起相應(yīng)的程序或系統(tǒng)無法正常使用。無論什么原因造成的DLL損壞,都可以通過下面的方法來修復(fù)。不過在修復(fù)前,首先要弄清DLL文件的基本類型,因為不同類型的DLL文件,修復(fù)的方法是不同的。
在Windows系統(tǒng)中,DLL文件分為兩類,一類是無需注冊的標(biāo)準(zhǔn)DLL文件,另一類是需要注冊的ActiveX DLL文件。修復(fù)前我們先要弄清楚損壞的是哪類文件,可以通過“Dependency Walke”軟件來區(qū)分。
在Dependency Walke主界面中,單擊“打開”按鈕,在出現(xiàn)的對話框中,找到相應(yīng)的DLL文件并雙擊,與該文件有關(guān)的函數(shù)即會出現(xiàn)在界面右側(cè),在這些函數(shù)中仔細(xì)查找,看其中是否包含DllRegisterServer和DllUnregisterServer兩個函數(shù)。如果有,說明該DLL為ActiveX DLL,需要注冊才能使用;否則為標(biāo)準(zhǔn)DLL文件,無需注冊。下面就分別來看看如何修復(fù)兩種不同的DLL文件。
修復(fù)標(biāo)準(zhǔn)DLL文件
通常情況下,標(biāo)準(zhǔn)DLL文件損壞或丟失時,系統(tǒng)會給出提示,指出損壞或丟失的DLL名稱。用戶要做的就是到C:\\WINDOWS\\system32\\dllcache目錄中找出相應(yīng)的備份文件,并復(fù)制到C:\\WINDOWS\\system32(或system)文件夾中即可。如果問題沒有解決,又不想在系統(tǒng)重啟時總是見到“dll文件丟失”的提示框,可以按下“Win+R”組合鍵,打開“運行”對話框,輸入msconfig,打開“系統(tǒng)配置實用程序”窗口,切換到System.ini標(biāo)簽,取消對提示丟失的DLL文件的勾選狀態(tài),單擊“確定”按鈕,以后開機時,該提示框就不會再出來煩人了。
重新注冊ActiveX Dll
ActiveX DLL需要注冊才能使用。否則,即使相應(yīng)的DLL文件已經(jīng)存在于硬盤上,調(diào)用時系統(tǒng)也會因找不到該文件而報錯。而ActiveX DLL出錯的重要原因就是注冊失效。運行“regsvr32”命令重新注冊相應(yīng)的DLL文件,可修復(fù)絕大部分ActiveX DLL錯誤,比如運行“regsvr32 byblos.dll”。如果該DLL文件不在系統(tǒng)文件夾中,還需要帶上文件的絕對路徑,如“regsvr32 e:\\dllback\\byblos.dll”。
小編的話:其實DLL文件沒有大家想的那么神秘復(fù)雜,它不過是程序的一個組成部分。認(rèn)清了它的工作模式,我們就可以輕松地解決由它引起的問題了。