動(dòng)態(tài)庫(kù)是干嘛用的 什么是“動(dòng)態(tài)鏈接庫(kù)文件”?它有什么作用?
什么是“動(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ù):
什么是“動(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è)組件都有相似的外觀和功能,這是通過(guò)共享DLL來(lái)實(shí)現(xiàn)的。
2. 鉤子程序過(guò)濾系統(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è)成員開(kāi)發(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ù)可以用來(lái)存儲(chǔ)特定國(guó)家或語(yǔ)言的信息。對(duì)于不同的版本,使用不同的動(dòng)態(tài)連接庫(kù)。
動(dòng)態(tài)鏈接庫(kù)是什么東西?
您可以簡(jiǎn)單地將DLL視為一種倉(cāng)庫(kù),它為您提供一些可以直接使用的變量、函數(shù)或類(lèi)。在倉(cāng)儲(chǔ)發(fā)展史上,經(jīng)歷了“無(wú)庫(kù)靜態(tài)鏈接庫(kù)動(dòng)態(tài)鏈接庫(kù)”的時(shí)代。靜態(tài)鏈接庫(kù)和動(dòng)態(tài)鏈接庫(kù)都共享代碼。如果使用靜態(tài)鏈接庫(kù),無(wú)論您是否愿意,lib中的指令都將直接包含在最終的EXE文件中。但是,如果使用了DLL,則DLL不需要包含在最終的EXE文件中。在執(zhí)行EXE文件時(shí),可以動(dòng)態(tài)引用和卸載與EXE無(wú)關(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ù)。