国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
LIB文件與DLL文件
LIB文件與DLL文件
標簽: dll工作
2010-09-19 23:56 975人閱讀 評論(0)  舉報
 分類:
Visual C++ 6(24) 
Lib是編譯時靜態(tài)鏈接庫,dll是運行時動態(tài)鏈接庫??赏ㄟ^不同的角度來看待這個問題:
(1)一般的動態(tài)庫程序生成有l(wèi)ib文件和dll文件。lib文件是必須在編譯期就連接到應用程序中的,而dll文件是運行期才會被調(diào)用的。如果有dll文件,那么對應的lib文件一般是一些索引信息,具體的實現(xiàn)在dll文件中。如果只有l(wèi)ib文件,那么這個lib文件是靜態(tài)編譯出來的,索引和實現(xiàn)都在其中。靜態(tài)編譯的lib文件有好處:給用戶安裝時就不需要再掛動態(tài)庫了。但也有缺點,就是導致應用程序比較大,而且失去了動態(tài)庫的靈活性,在版本升級時,同時要發(fā)布新的應用程序才行。
(2)在使用動態(tài)庫的情況下,有兩個文件,一個是引入庫(.LIB)文件,一個是DLL文件,引入庫文件包含被DLL導出的函數(shù)的名稱和位置,DLL則包含實際的函數(shù)和數(shù)據(jù),應用程序使用LIB文件鏈接到所需要使用的DLL文件,庫中的函數(shù)和數(shù)據(jù)并不復制到可執(zhí)行文件中,因此在應用程序的可執(zhí)行文件中,存放的不是被調(diào)用的函數(shù)代碼,而是DLL中所要調(diào)用的函數(shù)的地址,這樣當一個或多個應用程序運行時再把程序代碼和被調(diào)用的DLL函數(shù)代碼鏈接起來,從而節(jié)省了內(nèi)存資源。從上面的說明可以看出,這種應用情況下,DLL和.LIB文件必須隨應用程序一起發(fā)行,缺.LIB文件導致編譯錯誤,缺DLL文件導致運行錯誤。
(3)DLL的LIB(導入庫),不含可執(zhí)行的具體代碼(代碼在DLL中)。而最早的LIB(靜態(tài)鏈接庫),里面含有代碼。所以,可以看出來,如果一個函數(shù)被調(diào)用多次,使用DLL(動態(tài)鏈接技術(shù)),可以節(jié)省一些硬盤和內(nèi)存空間!而用LIB(靜態(tài)鏈接技術(shù)),每次調(diào)用,都會鏈接入相同的代碼,造成一些空間上的浪費。不過它的好處是不需要進行一個“查找”工作(也就是DLL應用時要找到LIB文件中說的DLL的“函數(shù)入口點”,可以獲得更高的效率)。
本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
dll 和lib關(guān)系
動態(tài)庫、靜態(tài)庫、運行時庫、引入庫之間的區(qū)別
動態(tài)鏈接庫dll,靜態(tài)鏈接庫lib, 導入庫lib
Qt DLL總結(jié)【一】-鏈接庫預備知識 - 柳北風兒~~~~~~~欲宇仙炅 - ITeye技術(shù)網(wǎng)站
VS2008中生成lib和dll庫文件
關(guān)于DSP中的lib
更多類似文章 >>
生活服務
分享 收藏 導長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服