1.對于Dll檔案,字面上的意思是動态連結庫。可是,動态連結庫,又是什麼呢?
回答這個問題前,先需要說明下,Dll隻是動态連結庫的其中一種,不是說動态連結庫隻有DLl。
2.動态連結庫是什麼?動态連結庫,就是将很多很多函數集合在一塊,進而形成庫檔案,最後,将這些庫檔案進行共享給需要的人或者組織使用。這,就是動态連結庫了。
那麼,既然知道了動态連結庫是個什麼東西後,自然而然,也許會有人詢問,動态連結庫該怎麼用?
3.首先,動态連結庫的調用,有靜态調用與動态調用。其次,它們都有着相應的使用方向與範圍,各有千秋;最後,動态連結庫,可以了解成是一種封裝,然後無論是靜态調用,抑或是動态調用,其實就是對這種經過封裝好的函數,直接調用即可。
這樣做的好處,不僅可以簡化代碼,而且,還可以對代碼進行重構,與拓展新的函數,看到這裡,是不是覺得,動态連結庫,非常的好了。相信,看到這裡,對動态連結庫有了個了解了。
介紹:
DLL(Dynamic Link Library)檔案為動态連結庫檔案,又稱“應用程式拓展”,是軟體檔案類型。在Windows中,許多應用程式并不是一個完整的可執行檔案,它們被分割成一些相對獨立的動态連結庫,即DLL檔案,放置于系統中。當我們執行某一個程式時,相應的DLL檔案就會被調用。一個應用程式可使用多個DLL檔案,一個DLL檔案也可能被不同的應用程式使用,這樣的DLL檔案被稱為共享DLL檔案。[1]
意義:
DLL檔案中存放的是各類程式的函數(子過程)實作過程,當程式需要調用函數時需要先載入DLL,然後取得函數的位址,最後進行調用。使用DLL檔案的好處是程式不需要在運作之初加載所有代碼,隻有在程式需要某個函數的時候才從DLL中取出。另外,使用DLL檔案還可以減小程式的體積。
優點:
(1) 更加節省記憶體并減少頁面交換;
(2) DLL檔案與EXE檔案獨立,隻要輸出接口不變(即名稱、參數、傳回值類型和調用約定不變),更換DLL檔案不會對EXE檔案造成任何影響,因而極大地提高了可維護性和可擴充性;
(3) 不同程式設計語言編寫的程式隻要按照函數調用約定就可以調用同一個DLL函數;
(4)适用于大規模的軟體開發,使開發過程獨立、耦合度小,便于不同開發者和開發組織之間進行開發和測試。
(5)節約磁盤空間:當應用程式使用動态連結時,多個應用程式可以共享磁盤上單個DLL副本。相比之下,當應用程式使用靜态連結庫時,每個應用程式要将庫代碼作為獨立的副本連結到可執行鏡像中。