亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

動態鏈接庫和靜態鏈接庫

2019-11-14 09:04:07
字體:
來源:轉載
供稿:網友

1、含義區別

1、靜態鏈接庫只包含:lib文件;動態鏈接庫包含:lib文件和dll文件,靜態鏈接庫中不能再包含其他的動態鏈接庫或者靜態庫,而在動態鏈接庫中還可以再包含其他的動態或靜態鏈接庫。此外他們都會用到定義了函數和相關數據結構的.h頭文件,其中:.h頭文件是編譯時必須的,lib是鏈接時需要的,dll是運行時需要的。

 

2.靜態鏈接庫的lib是靜態編譯出來的(obj文件的集合。類似于linux中.a文件是.o文件的集合),包含函數代碼本身(索引和實現都在其中),在編譯時直接將代碼加入exe程序當中,稱為靜態鏈接庫static link library;

動態鏈接庫的lib包含了函數所在的DLL文件和文件中函數位置的信息/入口(一般是一些索引信息,記錄了dll中函數的入口和位置),函數代碼由運行時加載在進程空間中的DLL提供(dll中才是函數的具體內容),稱為動態鏈接庫dynamic link library。

 

3、如何生成lib文件和dll文件比較簡單,省略。

2、使用方式:靜態鏈接和動態鏈接

(1)靜態鏈接(隱式鏈接)使用靜態鏈接庫或者動態鏈接庫:使用靜態鏈接庫時鏈接器從靜態鏈接庫LIB獲取所有被引用函數,并將庫同代碼一起放到可執行文件中;使用動態鏈接庫時鏈接器使用LIB文件鏈接到DLL文件,運行時應用程序再將dll中的代碼加載到進程空間。

動態鏈接(顯式鏈接)使用動態鏈接庫,允許可執行模塊(.dll文件或.exe文件)僅包含在運行時定位DLL函數的可執行代碼所需的信息。

 

(2)靜態鏈接庫lib只能采用靜態鏈接方式:需要.h文件和.lib文件。.h文件包含lib中說明輸出的類或符號原型或數據結構,應用程序調用lib時,需要將該文件包含入應用程序的源文件中。

 

(3)動態鏈接庫dll可以采用靜態鏈接和動態鏈接:

a.靜態鏈接:需要.h文件、.lib文件和.dll文件。使用時將lib文件加入項目的依賴庫或者在代碼中使用指令#PRagmacomment(lib, “***.lib”),并將dll文件加入到應用程序的目錄。

b.動態鏈接:只需要.dll文件。使用時用WIN32 API函數LoadLibrary(dll文件名為參數)獲得dll的實例,并返回實例的HINSTANCE句柄,再采用GetProcAddress函數(dll實例的句柄和dll中被調用函數的名稱作為參數)返回相應的函數指針,最后調用該函數。使用之后要調用FreeLibrary函數釋放dll占用的內存。

如下代碼:

[cpp] view plain copy 在CODE上查看代碼片派生到我的代碼片typedef void (*DLLFunc)(int);  int main()  {    DLLFunc dllFunc;    HINSTANCE hInstDll = LoadLibrary("***.dll");    if (hInstDll == NULL)    {       FreeLibrary(hInstDll);    }    dllFunc = (DLLFunc)GetProcAddress(hInstDll, "TestDLL");//TestDLL為想調用的dll中的函數    if (dllFunc == NULL)    {       FreeLibrary(hInstDll);    }    dllFunc(123);    FreeLibrary(hInstDll);    return 0;  }  

3、比較優劣

總結上述內容可以看出各有優劣:

(1)使用lib靜態鏈接庫,在運行程序時不需要再掛載dll文件,缺點是導致應用程序比較大,而且失去了動態庫的靈活性,發布新版本時要發布新的應用程序才行。

(2)使用lib和dll動態鏈接庫,在應用程序的可執行文件中,存放的不是被調用的函數代碼,而是DLL中相應函數代碼的地址,使得應用程序比較小,從而節省了存儲資源,但是要額外的內存空間用于載入dll中的內容。

 

【參考1:C++:LIB和DLL的區別與使用_數據庫/開發_比特網】

【參考2:靜態鏈接庫LIB和動態鏈接庫DLL的區別 創建和示例- 飛天舞者 - 博客園】


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品美女网站| 国产亚洲aⅴaaaaaa毛片| 日本一区二区三区四区视频| 国产精品一区电影| 岛国精品视频在线播放| 国产精品视频不卡| 亚洲天堂成人在线| 亚洲自拍欧美色图| 中文字幕亚洲自拍| 亚洲天堂男人天堂女人天堂| 亚洲剧情一区二区| 日韩精品电影网| 国产一区二区三区精品久久久| 国产亚洲成av人片在线观看桃| 欧美日韩国产精品一区二区三区四区| 欧美在线www| 亚洲欧美一区二区三区情侣bbw| 国产精品热视频| 91久久在线观看| 97国产精品人人爽人人做| 欧美在线视频免费播放| 国产精品日韩在线一区| 91久久在线视频| 国产精品美女免费| 国产一区深夜福利| 国产欧美一区二区三区在线看| 性欧美办公室18xxxxhd| 97人人模人人爽人人喊中文字| 中文日韩电影网站| 欧美黑人视频一区| 亚洲日本成人女熟在线观看| 精品国产老师黑色丝袜高跟鞋| 久久免费精品视频| 亚洲欧美中文字幕| 国产成人精品视频在线观看| 国产精品日韩一区| 91精品视频在线看| 国内精品模特av私拍在线观看| 亚洲免费电影在线观看| 午夜美女久久久久爽久久| 久久综合亚洲社区| 久久精品视频亚洲| 欧美激情奇米色| 亚洲精品久久久久中文字幕欢迎你| 91高清视频在线免费观看| 亚洲国产第一页| 亚洲小视频在线观看| 欧美电影在线观看网站| 国产精品网站大全| 日韩欧美在线免费观看| 国产精品久久久久av免费| 日韩精品免费观看| 一个色综合导航| 亚洲欧美在线第一页| 亚洲欧美激情在线视频| 97视频在线看| 国产精品扒开腿做爽爽爽的视频| 久热在线中文字幕色999舞| 亚洲欧美999| 亚洲精品综合久久中文字幕| 国产精品露脸自拍| 69久久夜色精品国产69乱青草| 午夜精品一区二区三区在线视| 中文国产成人精品| 亚洲精品欧美日韩专区| 日韩欧美一区视频| 国产日韩在线观看av| 国产精品免费久久久久影院| 永久免费精品影视网站| 欧美裸体xxxxx| 91探花福利精品国产自产在线| 久久久国产精品视频| 久久99久久亚洲国产| 中文字幕日本欧美| 国产欧美日韩中文字幕在线| 国产日本欧美一区二区三区在线| 国产精品免费在线免费| 日韩精品在线观| 欧美成人午夜激情在线| 精品免费在线观看| 国产精品久久久久久久久粉嫩av| 国产精品欧美久久久| 久久香蕉国产线看观看网| 日韩成人av在线播放| 黑人极品videos精品欧美裸| 97久久精品人人澡人人爽缅北| 国产精品海角社区在线观看| 色偷偷91综合久久噜噜| 亚洲精品美女在线观看| 日韩美女福利视频| 国产精品夜间视频香蕉| 国产女人18毛片水18精品| 亚洲精品一区久久久久久| 91av视频在线免费观看| 国产精品激情av在线播放| 国产精品人成电影在线观看| 欧美日韩国产成人高清视频| 久久免费视频这里只有精品| 69久久夜色精品国产69乱青草| 97视频免费观看| 亚洲人成网站免费播放| 国产免费一区二区三区在线观看| 欧美一级大片视频| 亚洲免费影视第一页| 久久久久久噜噜噜久久久精品| 精品国产乱码久久久久久婷婷| 国产精品第一页在线| 国产精品www色诱视频| 亚洲国产小视频| 亚洲xxxx做受欧美| 欧美性极品少妇精品网站| 精品国产老师黑色丝袜高跟鞋| 欧美做受高潮电影o| 日韩电影中文字幕在线| 亚洲大胆人体视频| 欧美日韩免费一区| 国产精品毛片a∨一区二区三区|国| 精品久久久久久久久久久久久| 国产日韩欧美日韩大片| 久久av中文字幕| 亚洲性69xxxbbb| 国产精品普通话| 国产在线观看精品一区二区三区| 欧美精品午夜视频| 国产精品高潮呻吟久久av无限| 欧美性猛交xxxxx水多| 精品国产依人香蕉在线精品| 18一19gay欧美视频网站| 最新国产精品亚洲| 一本色道久久88精品综合| 日本一区二区在线免费播放| 国产精品7m视频| 国产成人精品国内自产拍免费看| 色综合五月天导航| 欧美性猛交xxxx乱大交蜜桃| www.日韩不卡电影av| 81精品国产乱码久久久久久| 久热精品视频在线观看一区| 久久成人精品视频| 日韩精品在线影院| 午夜欧美大片免费观看| 欧美放荡办公室videos4k| 欧美精品一本久久男人的天堂| 国产美女被下药99| 最近免费中文字幕视频2019| 日韩精品中文字幕在线观看| 国产精品九九九| 日韩精品极品在线观看播放免费视频| 日韩亚洲第一页| 亚洲一区二区精品| 人人澡人人澡人人看欧美| 欧美性xxxxxx| 狠狠色狠狠色综合日日五| 日韩av中文字幕在线播放| 欧美日韩性生活视频| 亚洲无线码在线一区观看| 伊人久久久久久久久久| 日韩av最新在线观看| 7m精品福利视频导航| 亚洲人成网7777777国产| 亚洲第一av网| 日韩精品中文字幕在线观看| 日韩在线中文字| 亚洲性夜色噜噜噜7777|