dll檔案的作用,dll是什麼檔案,有什麼作用

2022-03-12 22:36:42 字數 5264 閱讀 5825

1樓:匿名使用者

dll檔案(dynamic linkable library 即動態連結庫檔案),是一種不能單獨執行的檔案,它允許程式共享執行特殊任務所必需的**和其他資源

比較大的應用程式都由很多模組組成,這些模組分別完成相對獨立的功能,它們彼此協作來完成整個軟體系統的工作。可能存在一些模組的功能較為通用,在構造其它軟體系統時仍會被使用。在構造軟體系統時,如果將所有模組的源**都靜態編譯到整個應用程式 exe 檔案中,會產生一些問題:

一個缺點是增加了應用程式的大小,它會佔用更多的磁碟空間,程式執行時也會消耗較大的記憶體空間,造成系統資源的浪費;另一個缺點是,在編寫大的 exe 程式時,在每次修改重建時都必須調整編譯所有源**,增加了編譯過程的複雜性,也不利於階段性的單元測試。

windows 系統平臺上提供了一種完全不同的較有效的程式設計和執行環境,你可以將獨立的程式模組建立為較小的 dll 檔案,並可對它們單獨編譯和測試。在執行時,只有當 exe 程式確實要呼叫這些 dll 模組的情況下,系統才會將它們裝載到記憶體空間中。這種方式不僅減少了 exe 檔案的大小和對記憶體空間的需求,而且使這些 dll 模組可以同時被多個應用程式使用。

windows 自己就將一些主要的系統功能以 dll 模組的形式實現。

一般來說,dll 是一種磁碟檔案,以.dll、.drv、.

fon、.sys 和許多以 .exe 為副檔名的系統檔案都可以是 dll。

它由全域性資料、服務函式和資源組成,在執行時被系統載入到呼叫程序的虛擬空間中,成為呼叫程序的一部分。如果與其它 dll 之間沒有衝突,該檔案通常對映到程序虛擬空間的同一地址上。dll 模組中包含各種匯出函式,用於向外界提供服務。

dll 可以有自己的資料段,但沒有自己的堆疊,使用與呼叫它的應用程式相同的堆疊模式;一個 dll 在記憶體中只有一個例項;dll 實現了**封裝性;dll 的編制與具體的程式語言及編譯器無關。

在 win32 環境中,每個程序都複製了自己的讀/寫全域性變數。如果想要與其它程序共享記憶體,必須使用記憶體對映檔案或者宣告一個共享資料段。dll 模組需要的堆疊記憶體都是從執行程序的堆疊中分配出來的。

windows 在載入 dll 模組時將程序函式呼叫與 dll 檔案的匯出函式相匹配。windows 作業系統對 dll 的操作僅僅是把 dll 對映到需要它的程序的虛擬地址空間裡去。dll 函式中的**所建立的任何物件(包括變數)都歸呼叫它的執行緒或程序所有。

呼叫方式:

1、靜態呼叫方式:由編譯系統完成對 dll 的載入和應用程式結束時 dll 解除安裝的編碼(如還有其它程式使用該 dll,則 windows 對 dll 的應用記錄減1,直到所有相關程式都結束對該 dll 的使用時才釋放它,簡單實用,但不夠靈活,只能滿足一般要求。

隱式的呼叫:需要把產生動態連線庫時產生的 .lib 檔案加入到應用程式的工程中,想使用 dll 中的函式時,只須說明一下。

隱式呼叫不需要呼叫 loadlibrary() 和 freelibrary()。程式設計師在建立一個 dll 檔案時,連結程式會自動生成一個與之對應的 lib 匯入檔案。該檔案包含了每一個 dll 匯出函式的符號名和可選的標識號,但是並不含有實際的**。

lib 檔案作為 dll 的替代檔案被編譯到應用程式專案中。

當程式設計師通過靜態連結方式編譯生成應用程式時,應用程式中的呼叫函式與 lib 檔案中匯出符號相匹配,這些符號或標識號進入到生成的 exe 檔案中。lib 檔案中也包含了對應的 dl l檔名(但不是完全的路徑名),連結程式將其儲存在 exe 檔案內部。

2、動態呼叫方式:是由程式設計者用 api 函式載入和解除安裝 dll 來達到呼叫 dll 的目的,使用上較複雜,但能更加有效地使用記憶體,是編制大型應用程式時的重要方式。

顯式的呼叫:

是指在應用程式中用 loadlibrary 或 mfc 提供的 afxloadlibrary 顯式的將自己所做的動態連線庫調進來,動態連線庫的檔名即是上面兩個函式的引數,再用 getprocaddress() 獲取想要引入的函式。自此,你就可以象使用如同本應用程式自定義的函式一樣來呼叫此引入函式了。

正因為dll 有佔用記憶體小,好編輯等的特點有很多電腦病毒都是dll格式檔案。但不能單獨執行。

動態連結庫通常都不能直接執行,也不能接收訊息。它們是一些獨立的檔案,其中包含能被可執行程式或其它dll呼叫來完成某項工作的函式。只有在其它模組呼叫動態連結庫中的函式時,它才發揮作用。

2樓:匿名使用者

dll的全稱是dynamic link library, 中文叫做"動態連結檔案"

在windows作業系統中, dll對於程式執行是非常重要的, 因為程式在執行的時候, 必須連結到dll檔案, 才能夠正確地執行。

但是當安裝的程式越來越多, dll檔案也就會越來越多, 如果當你刪除程式的時候, 沒有用的dll檔案沒有被刪除的話, 久而久之就造成系統的負擔了。

3樓:匿名使用者

樓主說的是一個方面, 其實軟體中dll作用很簡單, 通俗點說就是模組的非模態呼叫, 樓主別認為這個是複製的, 意思就是, 需要某個函式或者需要實現某個功能的時候, 才開始呼叫dll, 呼叫結束後釋放, 這個是非模態, 和exe比較好處是實時呼叫.exe是啟動時全部載入, 而dll是使用時載入, 不使用不載入, 這樣軟體執行起來速度也很快.如果樓主學的深入一點就知道, 我做過外掛, 外掛有個技術是執行緒式插入, 就是把dll插入遊戲的程序裡面從而可以方便使用遊戲的資料, 這個插入exe就做不到, 而dll很簡單就可以做到.

ok了.

dll是什麼檔案,有什麼作用

4樓:面上生花**包

動態連結庫檔案,儲存系統圖示等等,是一種可執行檔案,它允許程式共享執行特殊任務所必需的**和其他資源。windows提供的dll檔案中包含了允許基於windows的程式在windows 環境下操作的許多函式和資源。

不能刪除的!

5樓:匿名使用者

是類和庫檔案,提供exe應用程式的連結,可以共享程式開發時所呼叫的**,如果你學過程式設計就不難理解了

什麼是dll檔案?有何作用?

6樓:你的合夥人

dll(dynamic link library)檔案即庫檔案,是動態連結庫檔案,又稱「應用程式拓展」,是軟體檔案型別。

在windows中,許多應用程式並不是一個完整的可執行檔案,它們被分割成一些相對獨立的動態連結庫,即dll檔案,放置於系統中。當我們執行某一個程式時,相應的dll檔案就會被呼叫。

擴充套件資料

你可以簡單的把dll看成一種倉庫,它提供給你一些可以直接拿來用的變數、函式或類。在倉庫的發展史上經歷了「無庫-靜態連結庫-動態連結庫」的時代。

靜態連結庫與動態連結庫都是共享**的方式,如果採用靜態連結庫,則無論你願不願意,lib中的指令都被直接包含在最終生成的exe檔案中了。

但是若使用dll,該dll不必被包含在最終exe檔案中,exe檔案執行時可以「動態」地引用和解除安裝這個與exe獨立的dll檔案。靜態連結庫和動態連結庫的另外一個區別在於靜態連結庫中不能再包含其他的動態連結庫或者靜態庫,而在動態連結庫中還可以再包含其他的動態或靜態連結庫。

7樓:匿名使用者

系統檔案,和登錄檔有關係,如果隨意改動有可能會影響系統的正常執行

8樓:

dll是、dll檔案常識,dll是dynamiclinklibrary的縮寫,意為動態連結庫。在windows中,許多應用程式並不是一個完整的可執行檔案,它們被分割成一些相對獨立的動態連結庫,即dll檔案,放置於系統中。當我們執行某一個程式時,相應的dll檔案就會被呼叫

9樓:匿名使用者

10樓:匿名使用者

dll檔案(dynamic linkable library 即動態連結庫檔案),是一種不能單獨執行的檔案,它允許程式共享執行特殊任務所必需的**和其他資源

比較大的應用程式都由很多模組組成,這些模組分別完成相對獨立的功能,它們彼此協作來完成整個軟體系統的工作。可能存在一些模組的功能較為通用,在構造其它軟體系統時仍會被使用。在構造軟體系統時,如果將所有模組的源**都靜態編譯到整個應用程式 exe 檔案中,會產生一些問題:

一個缺點是增加了應用程式的大小,它會佔用更多的磁碟空間,程式執行時也會消耗較大的記憶體空間,造成系統資源的浪費;另一個缺點是,在編寫大的 exe 程式時,在每次修改重建時都必須調整編譯所有源**,增加了編譯過程的複雜性,也不利於階段性的單元測試。

windows 系統平臺上提供了一種完全不同的較有效的程式設計和執行環境,你可以將獨立的程式模組建立為較小的 dll 檔案,並可對它們單獨編譯和測試。在執行時,只有當 exe 程式確實要呼叫這些 dll 模組的情況下,系統才會將它們裝載到記憶體空間中。這種方式不僅減少了 exe 檔案的大小和對記憶體空間的需求,而且使這些 dll 模組可以同時被多個應用程式使用。

windows 自己就將一些主要的系統功能以 dll 模組的形式實現。

一般來說,dll 是一種磁碟檔案,以.dll、.drv、.

fon、.sys 和許多以 .exe 為副檔名的系統檔案都可以是 dll。

它由全域性資料、服務函式和資源組成,在執行時被系統載入到呼叫程序的虛擬空間中,成為呼叫程序的一部分。如果與其它 dll 之間沒有衝突,該檔案通常對映到程序虛擬空間的同一地址上。dll 模組中包含各種匯出函式,用於向外界提供服務。

dll 可以有自己的資料段,但沒有自己的堆疊,使用與呼叫它的應用程式相同的堆疊模式;一個 dll 在記憶體中只有一個例項;dll 實現了**封裝性;dll 的編制與具體的程式語言及編譯器無關。

dll檔案是幹什麼用的啊?

11樓:輕煙談生活

dll檔案放置於系統中,當我們執行某一個程式時,相應的dll檔案就會被呼叫。一個應用程式可使用多個dll檔案,一個dll檔案也可能被不同的應用程式使用,開啟dll檔案的具體操作步驟如下:

1、首先我們想要開啟檢視dll檔案,需要先安裝reflector軟體,該軟體可以開啟和檢視dll檔案。安裝後,可以在安裝目錄下,雙擊啟**標來啟動軟體。

2、程式執行成功後,開啟relector視窗。

3、點選軟體的file,在彈出下拉選單中,點選open assembly,該選項用於的開啟windows視窗選擇你要檢視的dll檔案。

4、在彈出的視窗中,找到要開啟的dll檔案,下面是選擇我桌面上的一個dll檔案,點選開啟按鈕。

4、開啟成功後,會在dll列表的最後,看到匯入到dll名稱。

5、點選名稱前面的加號圖示dll,選擇dll中的任意一個方法,在右側就可以檢視dll檔案的內容了。

exe結尾的是程式還是程式檔案dll結尾的呢

exe 可執行檔案 dll 動態連結庫檔案 dll可以是一堆圖示的集合,也可以是程式資源的集合。存到硬碟上的都叫檔案,執行起來才叫程式 exe是可執行檔案 dll是動態連結庫,是被其他程式呼叫的 exe結尾的是可執行的程式檔案 dll是dynamiclinklibrary的縮寫,意為動態連結庫。在w...

在Win7系統中如何清理不執行的DLL檔案

系統自帶清理的功能 清理磁碟 右鍵c盤 屬性 常規 清理磁碟 清理系統檔案 確定 碎片整理 右鍵c盤 屬性 工具 碎片整理 立即進行碎片整理 點選c盤 分析磁碟 超過30 清理磁碟 磁碟自檢 用於修復磁碟錯誤 壞道等故障。右鍵c盤 屬性 工具 差錯 開始檢查 對磁碟進行自檢 按照提示進行操作。怎麼清...

檔案的歷史價值是什麼,檔案的價值和作用怎麼表述

記住歷史中發生過的事情 檔案的價值和作用怎麼表述 檔案的作用是什麼?檔案是直接形成的歷史紀錄。直接形成 說明檔案繼承了檔案的原始性,歷史紀錄 說明檔案在繼承檔案原始性的同時,也繼承了檔案的記錄性,是再現歷史真實面貌的原始文獻。正因為檔案繼承了檔案原始記錄性,具有歷史再現性,所以檔案才具有憑證價值的重...