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

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

動態鏈接庫和靜態鏈接庫

2019-11-14 09:40: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
亚洲精品av在线播放| 久久影院免费观看| 亚洲xxxx视频| 久久精品成人一区二区三区| 精品久久久久久久久久久| 色综合天天综合网国产成人网| 国产精品视频导航| 国产第一区电影| 一区二区三区视频免费在线观看| 原创国产精品91| 日韩国产精品视频| 日韩综合中文字幕| 国产精品毛片a∨一区二区三区|国| 国产精品免费电影| 色狠狠av一区二区三区香蕉蜜桃| 俺去啦;欧美日韩| 久久久久这里只有精品| 欧美大片在线影院| 一区二区中文字幕| 欧美日韩一区二区精品| 亚洲视频第一页| 欧美日韩在线视频首页| 亚洲爱爱爱爱爱| 亚洲999一在线观看www| 日本19禁啪啪免费观看www| 狠狠久久五月精品中文字幕| 日韩视频在线免费观看| 亚洲精品久久久久国产| 一区二区三区www| 亚洲欧洲在线免费| 深夜成人在线观看| 国产精品草莓在线免费观看| 少妇高潮久久久久久潘金莲| 国产成人久久精品| 久久99热精品| 亚洲天堂av网| 国产91精品视频在线观看| 55夜色66夜色国产精品视频| 久久69精品久久久久久久电影好| 97在线观看视频| 亚洲伊人成综合成人网| 国产成人精品一区| 69精品小视频| 98精品国产高清在线xxxx天堂| 国产精品一久久香蕉国产线看观看| 国产欧美精品xxxx另类| 久久躁日日躁aaaaxxxx| 精品在线小视频| 国产午夜精品一区二区三区| 韩国国内大量揄拍精品视频| 日本欧美一二三区| 国产成人精品视频| 久久国产精品久久国产精品| 日韩成人av网址| 日韩精品视频中文在线观看| 欧美久久精品午夜青青大伊人| 日韩精品极品在线观看播放免费视频| 久久久极品av| 亚洲精品久久久久久久久久久久久| 欧美性猛交xxxx免费看漫画| 欧美日韩精品二区| 日韩有码片在线观看| 成人久久久久爱| 少妇高潮久久77777| 欧美激情免费视频| 国产精品久久二区| 精品国产老师黑色丝袜高跟鞋| 国产一区二区激情| 91超碰caoporn97人人| 亚洲韩国日本中文字幕| 欧美高清视频在线| 欧美视频在线观看 亚洲欧| 欧美一区二三区| 国产精品永久免费视频| 亚洲免费一级电影| 91精品在线影院| 亚洲免费精彩视频| 亚洲一区二区三区视频播放| 欧美精品免费播放| 午夜免费在线观看精品视频| 这里只有精品视频| 欧美激情精品久久久| 欧美最顶级的aⅴ艳星| 中文字幕亚洲专区| 中文字幕国产亚洲2019| 成人国产精品日本在线| 国产高清在线不卡| 国产美女久久精品香蕉69| 国产亚洲欧美日韩美女| 久久久久一本一区二区青青蜜月| 国产精品一久久香蕉国产线看观看| 久久天天躁夜夜躁狠狠躁2022| 成人午夜在线观看| 欧美老少配视频| 91精品国产乱码久久久久久久久| 久久久久久成人精品| 77777亚洲午夜久久多人| 精品女厕一区二区三区| 精品偷拍各种wc美女嘘嘘| 日韩av网站电影| 久久精品人人做人人爽| 亚洲色图35p| 久久综合国产精品台湾中文娱乐网| 日韩中文理论片| 亚洲精品视频播放| 国产精品毛片a∨一区二区三区|国| 国产精品视频久| 欧洲成人在线观看| 亚洲人成电影在线播放| 色偷偷av亚洲男人的天堂| 日韩精品在线免费| 国产精品电影久久久久电影网| 亚洲综合在线小说| 久久综合久久美利坚合众国| 亚洲欧美中文另类| 日韩欧美精品免费在线| 成人国产精品色哟哟| 色综合久久88| 91精品视频免费看| 成人免费视频xnxx.com| 精品日韩视频在线观看| 欧美亚洲另类在线| 黄色成人av网| 欧美精品性视频| 国产精品18久久久久久麻辣| 国产精品亚洲自拍| 日韩激情视频在线| 久久久久久久一区二区三区| 亚洲肉体裸体xxxx137| 日韩中文字幕免费看| 国内精品视频一区| 国产欧美一区二区三区久久| 国产精品免费久久久久影院| 亚洲人在线视频| 日韩欧美精品免费在线| 国产偷国产偷亚洲清高网站| 国产精品天天狠天天看| 欧美日韩免费在线观看| 最近2019年好看中文字幕视频| 欧美综合在线观看| 亚洲精品永久免费| 日韩综合视频在线观看| 久久最新资源网| 日韩激情av在线播放| 亚洲精品www久久久| 欧美猛交ⅹxxx乱大交视频| 久久精品成人欧美大片古装| 欧美在线国产精品| 久久久免费观看| 久久国产精品久久精品| 国产精品无av码在线观看| 久久久精品影院| 色婷婷亚洲mv天堂mv在影片| 欧美大片大片在线播放| 亚洲第一黄色网| 欧美性猛交xxxx免费看漫画| 亚洲国产精品va在线观看黑人| 国产精品一二区| 日韩电影免费在线观看中文字幕| 亚洲国产女人aaa毛片在线| 欧美高清在线播放| 国产精品久久久av| 欧美电影免费播放| 欧美肥婆姓交大片|