靜態(tài)庫(kù)和動(dòng)態(tài)庫(kù)的區(qū)別 什么是動(dòng)態(tài)鏈接庫(kù)?
什么是動(dòng)態(tài)鏈接庫(kù)?什么是動(dòng)態(tài)鏈接庫(kù)?DLL三個(gè)字母對(duì)于你來說一定很熟悉吧,它是動(dòng)態(tài)鏈接庫(kù)的縮寫,動(dòng)態(tài)鏈接庫(kù)(dynamic link library,DLL)是作為一個(gè)共享函數(shù)庫(kù)的可執(zhí)行文件。動(dòng)態(tài)鏈接
什么是動(dòng)態(tài)鏈接庫(kù)?
什么是動(dòng)態(tài)鏈接庫(kù)?DLL三個(gè)字母對(duì)于你來說一定很熟悉吧,它是動(dòng)態(tài)鏈接庫(kù)的縮寫,動(dòng)態(tài)鏈接庫(kù)(dynamic link library,DLL)是作為一個(gè)共享函數(shù)庫(kù)的可執(zhí)行文件。
動(dòng)態(tài)鏈接為進(jìn)程調(diào)用不屬于其可執(zhí)行代碼的函數(shù)提供了一種方法。函數(shù)的可執(zhí)行代碼位于DLL中,該DLL包含一個(gè)或多個(gè)函數(shù),這些函數(shù)已被編譯、鏈接并與使用它們的進(jìn)程分開存儲(chǔ)。DLL還有助于共享數(shù)據(jù)和資源。多個(gè)應(yīng)用程序可以同時(shí)訪問內(nèi)存中DLL的單個(gè)副本的內(nèi)容。
什么是“動(dòng)態(tài)鏈接庫(kù)文件”?它有什么作用?
動(dòng)態(tài)鏈接庫(kù)文件是一個(gè)可執(zhí)行文件,允許程序共享執(zhí)行特殊任務(wù)所需的代碼和其他資源。DLL是一個(gè)動(dòng)態(tài)連接庫(kù)。使用DLL的一些優(yōu)點(diǎn)如下:
1。多個(gè)應(yīng)用程序共享代碼和數(shù)據(jù):例如,office軟件的每個(gè)組件都有相似的外觀和功能,這是通過共享DLL來實(shí)現(xiàn)的。
2. 鉤子程序過濾系統(tǒng)消息時(shí)必須使用動(dòng)態(tài)鏈接庫(kù)。
3. 動(dòng)態(tài)鏈接庫(kù)將一個(gè)大的應(yīng)用程序自然地劃分為幾個(gè)小模塊,有利于團(tuán)隊(duì)成員的分工與協(xié)作。此外,每個(gè)模塊都可以獨(dú)立升級(jí)。如果組中的一個(gè)成員開發(fā)了一組實(shí)用程序例程,他可以將它們放入動(dòng)態(tài)鏈接庫(kù)中,供組中的其他成員使用。
4. 為了實(shí)現(xiàn)應(yīng)用程序的國(guó)際化,經(jīng)常使用動(dòng)態(tài)連接庫(kù)。動(dòng)態(tài)鏈接庫(kù)可以用來存儲(chǔ)特定國(guó)家或語(yǔ)言的信息。對(duì)于不同的版本,使用不同的動(dòng)態(tài)連接庫(kù)。
動(dòng)態(tài)鏈接庫(kù)是什么東西?
您可以簡(jiǎn)單地將DLL視為一種倉(cāng)庫(kù),它為您提供一些可以直接使用的變量、函數(shù)或類。在倉(cāng)儲(chǔ)發(fā)展史上,經(jīng)歷了“無庫(kù)靜態(tài)鏈接庫(kù)動(dòng)態(tài)鏈接庫(kù)”的時(shí)代。靜態(tài)鏈接庫(kù)和動(dòng)態(tài)鏈接庫(kù)都共享代碼。如果使用靜態(tài)鏈接庫(kù),無論您是否愿意,lib中的指令都將直接包含在最終的EXE文件中。但是,如果使用了DLL,則DLL不需要包含在最終的EXE文件中。在執(zhí)行EXE文件時(shí),可以動(dòng)態(tài)引用和卸載與EXE無關(guān)的DLL文件。靜態(tài)鏈接庫(kù)和動(dòng)態(tài)鏈接庫(kù)的另一個(gè)區(qū)別是,靜態(tài)鏈接庫(kù)不能再包含其他動(dòng)態(tài)鏈接庫(kù)或靜態(tài)鏈接庫(kù),而動(dòng)態(tài)鏈接庫(kù)也可以包含其他動(dòng)態(tài)或靜態(tài)鏈接庫(kù)。
動(dòng)態(tài)鏈接庫(kù)是什么,為什么linux需要?jiǎng)討B(tài)鏈接庫(kù)?
動(dòng)態(tài)鏈接庫(kù)是計(jì)算機(jī)系統(tǒng)中非常重要的一部分,但它不是必須一直使用的常用函數(shù)的代碼集。這些功能對(duì)計(jì)算機(jī)系統(tǒng)非常重要。沒有他們的幫助,有些功能就無法實(shí)現(xiàn)。因此,它們需要能夠在需要使用時(shí)快速地轉(zhuǎn)移到系統(tǒng)內(nèi)存中。但如果一直放在計(jì)算機(jī)內(nèi)存中是不現(xiàn)實(shí)的,有兩個(gè)原因:一是庫(kù)太多,如果全部放進(jìn)內(nèi)存,會(huì)導(dǎo)致計(jì)算機(jī)內(nèi)存嚴(yán)重不足,無法完成相關(guān)導(dǎo)入工作。第二是這部分功能的使用不是很頻繁,不會(huì)影響電腦的基本功能,如果都已經(jīng)放入內(nèi)存,也會(huì)影響內(nèi)存的利用率。因此,最好的辦法就是把它一個(gè)一個(gè)地變成硬盤上的文件。當(dāng)您需要使用它時(shí),您可以根據(jù)需要從硬盤中檢索它。放置這些特定函數(shù)的計(jì)算機(jī)文件是系統(tǒng)的動(dòng)態(tài)鏈接庫(kù)。