EXE檔案和DLL檔案有什麼區別?它們是如何生成的?


編寫.NET程式碼時,可以選擇建立EXE檔案或DLL檔案。兩者都包含可執行程式碼,但DLL和EXE檔案的執行方式不同。執行EXE檔案會建立自己的執行緒並保留其資源。而DLL檔案是程序內伺服器,因此無法單獨執行DLL檔案。執行中的應用程式透過載入和呼叫DLL來使用其程式碼。

  • DLL的主要目的是簡化計算機程式的模組化過程。這簡化了操作,並更容易查明問題所在。

  • 如果將所有程式碼編譯成單個可執行檔案,它會非常龐大,載入時間也會很長。使用DLL不僅可以提高可移植性,還可以提高可重用性。

  • 例如,如果有一些可以將現有檔案轉換為不同格式的程式碼,並將這些程式碼放入動態連結庫(DLL)中,那麼幾乎可以在開發的任何軟體中使用該功能。如果將其放入EXE檔案中,則只有最初面向它的應用程式才能使用它,因為該函式對其他程式不可見。因此,對於更通用的任務,使用DLL非常有益。

使用.NET編寫程式時,需要建立一個可執行檔案,因為使用者將執行該應用程式。EXE檔案至關重要,因為它充當您使用的軟體的入口點或起點。之後,您可以擁有任意數量的DLL。最好只有一個EXE,因為不能將一個EXE與另一個EXE結合使用。

什麼是EXE檔案?

需要在Windows上編譯的程式稱為“EXE檔案”,副檔名為.exe。

可執行檔案稱為EXE檔案。開啟時,其主要目的是啟動程式。這是透過執行特定的指令碼或使用檔案中的一些資料來實現的。

在Windows計算機上啟動程式或應用程式時,“.exe”檔案實際上使程式或應用程式能夠執行。但是,外掛也可能被利用來傳播病毒和惡意軟體。

從未知來源下載“.exe”檔案時,使用者需要謹慎。它包含惡意軟體的可能性最高。

可執行檔案基本上分為兩類。這兩個檔案都是從各自的原始碼彙編而來的。CPU在轉換後執行二進位制編碼的程式碼。

  • 編譯程式 − 編譯程式是在Windows上具有.exe副檔名的程式。

  • 指令碼 − 指令碼是未編譯的可執行檔案。這些檔案以純文字格式儲存。指令碼通常缺乏可執行的機器程式碼;因此需要直譯器來執行程式。

什麼是DLL檔案?

動態連結庫,也稱為“.dll”檔案,是一種包含特定指令的檔案,這些指令在需要時由其他應用程式使用。Windows程式可以使用此庫訪問各種不同型別的資訊和功能。

DLL檔案無法自行執行程式碼。相反,它們必須由計算機上當前正在執行的其他程式碼呼叫。

在引用動態連結時,使用“動態”一詞。這意味著資料僅在程式專門請求使用時才在程式中使用。資訊並非始終從記憶體中訪問。“.dll”副檔名定義檔案為DLL。

這些檔案主要使用C++計算機語言構建。因此,任何瞭解如何編寫程式碼的人都可以輕鬆編寫自己的DLL程式碼。

Windows的標準安裝提供了大量的DLL檔案。但是,第三方程式可能會將它們安裝在您的計算機上。透過使用DLL檔案,我們可以將各個軟體元件分解成各自的獨立模組。DLL使我們能夠獲得程式的最新版本,而無需每次更新都完全重新安裝。

EXE和DLL的區別

下表突出顯示了EXE和DLL的主要區別:

比較依據 EXE DLL
全稱 代表可執行檔案。 代表動態連結庫。
執行時 EXE檔案是獨立的。它們能夠獨立執行,無需其他應用程式的支援。 這些通常在後臺用作支援檔案,以便其他應用程式正常執行。
數量 當只討論一個應用程式時,包中只有一個可執行檔案。 DLL檔案數量沒有預定順序。可能有多個DLL檔案。
記憶體 由於副檔名,需要額外的儲存空間和記憶體。 不需要任何額外的記憶體空間。使用分配給當前正在執行的應用程式的記憶體。
共享 無法與其他應用程式共享此資訊。因此,它們無法重複使用。 可以與其他程式共享此資訊。它們可以多次使用。
型別 EXE是程式 DLL是庫

結論

可以將寫在計算機檔名末尾的識別符號稱為副檔名。有許多不同型別的副檔名,最常見的大概是.exe和.dll。

人們經常將這兩個術語混淆。但是,這兩個概念完全不同。

DLL無法獨立執行。它們很可能用作支援檔案來執行其他應用程式。此外,它們內部沒有專用的記憶體儲存區域。

EXE檔案擴充套件名錶示一種可以獨立執行的可執行檔案型別。它們可以在無需任何輔助程式或應用程式的情況下執行。

更新於:2022年8月4日

13K+ 瀏覽量

啟動您的職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.