毛片网站在线看_天堂俺去俺来也www久久婷婷_日韩av免费网站_18性欧美xxxⅹ性满足_一区二区三区韩国免费中文网站 _性xx色xx综合久久久xx_999亚洲国产精


曙海教育集團(tuán)論壇開發(fā)語言培訓(xùn)專區(qū)VB語言 → 技術(shù)討論總結(jié) -之- DLL和COM


  共有10417人關(guān)注過本帖樹形打印

主題:技術(shù)討論總結(jié) -之- DLL和COM

美女呀,離線,留言給我吧!
wangxinxin
  1樓 個(gè)性首頁 | 博客 | 信息 | 搜索 | 郵箱 | 主頁 | UC


加好友 發(fā)短信
等級(jí):青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊(cè):2010-11-12 11:08:23
技術(shù)討論總結(jié) -之- DLL和COM  發(fā)帖心情 Post By:2010-12-14 14:52:04

本周技術(shù)討論會(huì)主要議題是DLL和COM

DLL是微軟創(chuàng)造的二進(jìn)制級(jí)別代碼重用和應(yīng)用程序管理的技術(shù). DLL有如下這些好處:
1. 由于DLL動(dòng)態(tài)加載的特性, 使得DLL模塊和應(yīng)用程序主干相剝離, 便于程序的升級(jí) -----升級(jí)某個(gè)模塊的功能只需覆蓋某個(gè)DLL就可以了, 無需重新編譯全部代碼.
2. DLL的另一個(gè)好處也來自動(dòng)態(tài)加載, 因此依賴于這個(gè)模塊的其他各類應(yīng)用程序不需與DLL編譯在一起, 因此省出了更多的硬盤空間. 假如使用靜態(tài)鏈接, 則每一個(gè)應(yīng)用程序都需包含相應(yīng)的模塊鏡像, 對(duì)磁盤的浪費(fèi)是很嚴(yán)重的.
3. 更為重要的, 使用DLL還有助于節(jié)省內(nèi)存. 因?yàn)橄到y(tǒng)為DLL提供了引用計(jì)數(shù), 所有加載DLL的進(jìn)程共享DLL的頁面(當(dāng)然數(shù)據(jù)不能共享,數(shù)據(jù)由進(jìn)程自己保存.能夠共享的是相當(dāng)于代碼段的頁面),因此DLL使得內(nèi)存的使用更有效.
4. 使用DLL可以實(shí)現(xiàn)多語言編程.例如VB的程序可以調(diào)用C++代碼實(shí)現(xiàn)的DLL模塊里面的函數(shù).

DLL有兩種加載方式, 一種是隱示加載, 就是在應(yīng)用程序里包含DLL編寫者提供的.h文件和編譯時(shí)產(chǎn)生的.lib文件. 這樣DLL將會(huì)在程序啟動(dòng)時(shí)加載入進(jìn)程. 可以想見, 如word這類的程序在啟動(dòng)之時(shí)如此緩慢, 就是在不斷的加載各種DLL模塊.
另一種加載方式就是在程序中調(diào)用LoadLibrary函數(shù)顯示加載DLL, 然后通過調(diào)用GetProcAddress函數(shù)獲取相應(yīng)函數(shù)的地址(即函數(shù)指針), 從而調(diào)用DLL內(nèi)的函數(shù). 這種做法有一個(gè)很好的優(yōu)點(diǎn)就是不必所有的DLL都在啟動(dòng)時(shí)加載, 很多DLL模塊都可以在需要使用的時(shí)候再臨時(shí)加載, 有些DLL假如沒有用到可以一直不加載. 我個(gè)人認(rèn)為這是很好的用戶體驗(yàn). 我不理解的是為什么MS的各類產(chǎn)品沒有使用這種方式進(jìn)行程序設(shè)計(jì).或許他已經(jīng)用了, 但是啟動(dòng)時(shí)候必須加載的DLL項(xiàng)目太多?我就不再猜測(cè)了..
顯示加載的DLL需要手動(dòng)卸載, 調(diào)用FreeLibrary函數(shù)卸載它.

與普通的EXE一樣, DLL也有一個(gè)進(jìn)入點(diǎn)函數(shù), 名字叫做DllMain, 這個(gè)函數(shù)接受三個(gè)參數(shù), HINSTANCE hInst, DWORD fdwReason, PVOID fImpLoad
我在這里只討論第二個(gè)參數(shù)fdwReason. 它可以是4個(gè)值: DLL_PROCESS_ATTACH, DLL_PROCESS_DETACH, DLL_THREAD_ATTACH, DLL_THREAD_DETACH
分別表示DLL首次加載,DLL從進(jìn)程中釋放, DLL線程的構(gòu)造和終止. 其實(shí)系統(tǒng)為DLL提供了引用計(jì)數(shù), DLL只加載入RAM一次, 所有進(jìn)程共享DLL的各個(gè)頁面, 所以只有第一次加載會(huì)調(diào)用帶有DLL_PROCESS_ATTACH的DllMain. 但每次DLL從進(jìn)程中釋放都會(huì)調(diào)用帶DLL_PROCESS_DETACH的DllMain, 這是因?yàn)檫M(jìn)程保存了DLL里面的一些變量可能需要釋放掉.
因此DllMain可以阻止進(jìn)程結(jié)束.它可以在DLL_PROCESS_DETACH消息中放一個(gè)死循環(huán),等待所有資源都被釋放掉才退出. 如果有些資源出了問題, 就可能導(dǎo)致DLL無法正常退出.這就是為什么有些程序即使你去點(diǎn)小紅叉叉也結(jié)束不了進(jìn)程的原因.這種情況可以調(diào)用TerminateProcess函數(shù)強(qiáng)關(guān)進(jìn)程.這就是為什么通過任務(wù)管理器仍然能結(jié)束進(jìn)程的原因(但是這樣做有可能丟失數(shù)據(jù)...)

支持(0中立(0反對(duì)(0單帖管理 | 引用 | 回復(fù) 回到頂部

返回版面帖子列表

技術(shù)討論總結(jié) -之- DLL和COM








簽名
毛片网站在线看_天堂俺去俺来也www久久婷婷_日韩av免费网站_18性欧美xxxⅹ性满足_一区二区三区韩国免费中文网站 _性xx色xx综合久久久xx_999亚洲国产精
激情小说亚洲一区| 亚洲国产岛国毛片在线| 亚洲最新在线观看| 26uuuu精品一区二区| 欧美天天综合网| 东方aⅴ免费观看久久av| 久久激情五月激情| 亚洲bdsm女犯bdsm网站| 国产精品久久久久久久久免费樱桃| 91精品欧美综合在线观看最新| 日本高清不卡一区| 95精品视频在线| www.欧美亚洲| www.日韩av| 91在线观看免费视频| 97超碰欧美中文字幕| www.欧美日韩国产在线| 波多野结衣中文字幕一区二区三区| 国产精品亚洲一区二区三区妖精 | 欧美亚洲国产bt| 色狠狠色噜噜噜综合网| 99免费精品在线| 91女厕偷拍女厕偷拍高清| 风间由美一区二区av101| 成人深夜福利app| 色综合视频在线观看| 欧美在线观看18| 欧美一区三区四区| 久久综合久久久久88| 国产亚洲成aⅴ人片在线观看 | 成人一区二区三区在线观看| 国产精品18久久久久久久久久久久| 狠狠色丁香婷婷综合| 成人免费视频一区二区| 99久久亚洲一区二区三区青草| 色婷婷综合久久久中文字幕| 精品视频一区 二区 三区| 欧美一卡2卡三卡4卡5免费| 亚洲精品一区二区三区精华液| 中文一区二区在线观看| 综合久久国产九一剧情麻豆| 亚洲国产美女搞黄色| 蜜桃久久精品一区二区| 国产sm精品调教视频网站| 色美美综合视频| 日韩精品专区在线影院重磅| 国产欧美精品国产国产专区| 亚洲激情自拍视频| 精品亚洲porn| 色综合亚洲欧洲| 91麻豆精品国产91久久久久| 久久精品夜色噜噜亚洲a∨| 亚洲女子a中天字幕| 日韩国产欧美在线观看| 国产一区二区三区黄视频| 99久久精品一区| 日韩三区在线观看| 亚洲男人的天堂在线aⅴ视频| 日本午夜精品视频在线观看| 成人av在线播放网站| 日韩欧美国产综合一区| 国产精品久久国产精麻豆99网站 | 色综合天天综合网天天狠天天 | 久久噜噜亚洲综合| 亚洲宅男天堂在线观看无病毒| 黑人巨大精品欧美一区| 色香色香欲天天天影视综合网| 日韩午夜激情av| 亚洲人吸女人奶水| 国产精品综合视频| 欧美精品亚洲二区| 亚洲卡通动漫在线| 成人精品鲁一区一区二区| 欧美一卡二卡在线| 亚洲超丰满肉感bbw| 99久久久久免费精品国产| 久久新电视剧免费观看| 日本美女视频一区二区| 在线影院国内精品| 欧美激情综合在线| 韩国女主播成人在线观看| 在线观看欧美黄色| 国产精品传媒视频| 国产福利一区二区三区视频| 欧美一激情一区二区三区| 一区二区在线看| 91亚洲国产成人精品一区二三| 欧美成人a视频| 免费在线看成人av| 欧美性三三影院| 一区二区三区 在线观看视频| 成人av免费在线| 国产亚洲人成网站| 美女国产一区二区三区| 制服丝袜一区二区三区| 午夜精品久久久久影视| 欧美在线免费播放| 亚洲午夜成aⅴ人片| 欧美亚洲国产bt| 亚洲一区在线观看免费| 91免费视频网| 亚洲综合色丁香婷婷六月图片| 91视频你懂的| 亚洲视频免费看| 一本一道久久a久久精品综合蜜臀| 国产精品美女久久久久久久久久久 | 国产精品美女久久久久aⅴ| 国产一区二区三区不卡在线观看| 日韩欧美中文字幕制服| 久久精品国产亚洲a| 337p粉嫩大胆噜噜噜噜噜91av | 欧美精品v日韩精品v韩国精品v| 一区二区三区欧美在线观看| 色av成人天堂桃色av| 一区二区免费看| 欧美精品vⅰdeose4hd| 日韩精品91亚洲二区在线观看| 91精品国产黑色紧身裤美女| 精品一区二区三区久久久| 26uuu欧美| 成人综合在线网站| 亚洲日本在线视频观看| 欧美日韩aaaaa| 精品综合久久久久久8888| 久久久久久**毛片大全| caoporen国产精品视频| 午夜天堂影视香蕉久久| 日韩免费视频一区| 不卡视频在线看| 天天综合网 天天综合色| 日韩一区二区在线看片| 高清不卡一区二区| 亚洲成a人v欧美综合天堂| 精品剧情v国产在线观看在线| 高清不卡在线观看av| 亚洲成人精品一区二区| 久久欧美一区二区| 欧美中文字幕一二三区视频| 另类综合日韩欧美亚洲| 一区二区中文字幕在线| 日韩欧美一区二区免费| av不卡免费电影| 久久精品国产999大香线蕉| 国产精品全国免费观看高清| 欧美日韩免费在线视频| 国产99精品国产| 午夜精品一区二区三区三上悠亚| 中文字幕欧美国产| 91精品国产91久久综合桃花| 99re成人在线| 国产乱国产乱300精品| 亚洲风情在线资源站| 欧美国产禁国产网站cc| 在线成人高清不卡| 91天堂素人约啪| 国产精品羞羞答答xxdd| 视频一区在线视频| 一区二区三区高清在线| 久久香蕉国产线看观看99| 欧美高清你懂得| 欧美亚一区二区| 91丨九色丨蝌蚪丨老版| 精久久久久久久久久久| 天堂蜜桃91精品| 亚洲综合无码一区二区| 国产精品久久99| 亚洲国产精品二十页| 日韩亚洲欧美在线| 欧美日韩在线综合| 97国产精品videossex| 丁香激情综合国产| 国产制服丝袜一区| 免费在线成人网| 免费成人av资源网| 午夜久久福利影院| 亚洲高清在线精品| 亚洲一区中文日韩| 一区二区三区四区亚洲| 自拍偷拍国产亚洲| 日韩毛片一二三区| 亚洲视频中文字幕| 中文字幕一区二区视频| 国产精品久久久久久久久果冻传媒 | 日韩精品视频网站| 日韩精品一区第一页| 日韩avvvv在线播放| 午夜成人在线视频| 日韩精品电影在线| 另类欧美日韩国产在线| 久久精品国产亚洲a| 91亚洲午夜精品久久久久久| 99久久99久久免费精品蜜臀| 91在线无精精品入口| 色综合久久综合网| 欧美视频一区在线| 在线不卡中文字幕播放| 日韩一区二区三区观看| 欧美α欧美αv大片| 亚洲国产电影在线观看| 一区二区三区成人|