久久精品在这里_成人99免费视频_国产激情视频一区二区在线观看_国产伦精品一区二区三区免费 _亚洲午夜免费福利视频_色狠狠色狠狠综合_av在线综合网_91毛片在线观看_欧美视频一区二区在线观看_极品美女销魂一区二区三区免费_国产亚洲欧美激情_在线免费观看不卡av_日韩不卡一区二区三区_91精品国产麻豆国产自产在线_亚洲国产精品一区二区久久恐怖片_a4yy欧美一区二区三区

以文本方式查看主題

-  曙海教育集團(tuán)論壇  (http://www.rfoamep.cn/bbs/index.asp)
--  VB語(yǔ)言  (http://www.rfoamep.cn/bbs/list.asp?boardid=77)
----  技術(shù)討論總結(jié) -之- DLL和COM  (http://www.rfoamep.cn/bbs/dispbbs.asp?boardid=77&id=2609)

--  作者:wangxinxin
--  發(fā)布時(shí)間:2010-12-14 14:52:04
--  技術(shù)討論總結(jié) -之- DLL和COM
本周技術(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就可以了, 無(wú)需重新編譯全部代碼.
2. DLL的另一個(gè)好處也來(lái)自動(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的頁(yè)面(當(dāng)然數(shù)據(jù)不能共享,數(shù)據(jù)由進(jìn)程自己保存.能夠共享的是相當(dāng)于代碼段的頁(yè)面),因此DLL使得內(nèi)存的使用更有效.
4. 使用DLL可以實(shí)現(xiàn)多語(yǔ)言編程.例如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)程. 可以想見(jiàn), 如word這類的程序在啟動(dòng)之時(shí)如此緩慢, 就是在不斷的加載各種DLL模塊.
另一種加載方式就是在程序中調(diào)用LoadLibrary函數(shù)顯示加載DLL, 然后通過(guò)調(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假如沒(méi)有用到可以一直不加載. 我個(gè)人認(rèn)為這是很好的用戶體驗(yàn). 我不理解的是為什么MS的各類產(chǎn)品沒(méi)有使用這種方式進(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è)頁(yè)面, 所以只有第一次加載會(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),等待所有資源都被釋放掉才退出. 如果有些資源出了問(wèn)題, 就可能導(dǎo)致DLL無(wú)法正常退出.這就是為什么有些程序即使你去點(diǎn)小紅叉叉也結(jié)束不了進(jìn)程的原因.這種情況可以調(diào)用TerminateProcess函數(shù)強(qiáng)關(guān)進(jìn)程.這就是為什么通過(guò)任務(wù)管理器仍然能結(jié)束進(jìn)程的原因(但是這樣做有可能丟失數(shù)據(jù)...)
久久精品在这里_成人99免费视频_国产激情视频一区二区在线观看_国产伦精品一区二区三区免费 _亚洲午夜免费福利视频_色狠狠色狠狠综合_av在线综合网_91毛片在线观看_欧美视频一区二区在线观看_极品美女销魂一区二区三区免费_国产亚洲欧美激情_在线免费观看不卡av_日韩不卡一区二区三区_91精品国产麻豆国产自产在线_亚洲国产精品一区二区久久恐怖片_a4yy欧美一区二区三区
91国产在线播放| 中文字幕综合网| 五月天国产精品| 日本一区视频在线观看| 亚洲视频在线一区| 久久国产欧美精品| 亚洲区小说区图片区qvod| 国产精品视频福利| 亚洲欧美偷拍三级| 一级日韩一区在线观看| 日本女人一区二区三区| 欧美性大战久久久| 国产盗摄一区二区| 亚洲精品在线免费观看视频| 91网站在线播放| 国产精品成人一区二区三区夜夜夜| 好吊色欧美一区二区三区| 亚洲女人的天堂| 伊人久久大香线蕉综合75| 看片网站欧美日韩| 欧美一级日韩一级| 91网站黄www| 亚洲欧洲av一区二区三区久久| 欧美一区1区三区3区公司| 视频一区视频二区在线观看| 欧美三级在线看| av一区二区三区在线| 国产三级欧美三级日产三级99| 国产区一区二区| 亚洲成a人片综合在线| 欧美性生活影院| 99久久精品国产毛片| 亚洲欧美日韩综合aⅴ视频| 中国成人在线视频| 丁香激情综合国产| 亚洲天堂精品视频| 欧美伊人精品成人久久综合97| 丰满少妇在线播放bd日韩电影| 国产日产欧美一区二区视频| 欧美一区免费视频| 狠狠色丁香久久婷婷综| 日本一区二区三区在线观看| 日本在线观看一区| 国产乱码一区二区三区| 国产精品萝li| 91黄色免费观看| av一区二区久久| 亚洲一区免费视频| 欧美一区国产二区| 久久伊人一区二区| 国产一区二区三区久久悠悠色av| 国产三级一区二区| 色综合网色综合| 91网站在线播放| 亚洲成人免费视频| 日韩精品影音先锋| 日韩中文字幕一区二区| 风间由美性色一区二区三区| 亚洲色图一区二区三区| 欧美日本国产视频| 久久国产精品-国产精品| 久久99国产乱子伦精品免费| 亚洲国产精品成人综合色在线婷婷| 亚洲一区二区三区色| 成人国产精品免费观看视频| 一级女性全黄久久生活片免费| 日韩午夜在线播放| 视频一区亚洲| 99视频免费观看| 精品亚洲成a人| 亚洲免费观看高清完整版在线观看熊| 欧美色图第一页| 欧美黄色直播| 99久久久精品免费观看国产蜜| 亚洲成人免费在线观看| 国产亚洲一二三区| 欧美日韩免费高清一区色橹橹 | 国产三级精品在线| 日本韩国欧美国产| 久久久久久久久四区三区| 国产suv精品一区二区6| 午夜欧美大尺度福利影院在线看| 久久蜜桃av一区二区天堂| 欧美自拍丝袜亚洲| 欧美福利精品| 99久久久精品免费观看国产| 国产一区二区中文字幕| 亚洲一区二区在线播放相泽| 久久久久国产精品麻豆| 欧美久久久久久久久久| 亚洲成人自拍| 鲁丝一区二区三区免费| 91小视频在线免费看| 国产精品一区二区视频| 日韩国产欧美在线视频| 一区二区三区日韩精品视频| 欧美激情自拍偷拍| 欧美大片一区二区| 欧美日韩一区二区三区不卡| 亚洲成色www久久网站| 国产亚洲一区在线播放| 97久久精品人人爽人人爽蜜臀| 极品美女销魂一区二区三区免费| 亚洲午夜久久久| 亚洲欧美自拍偷拍色图| 国产欧美中文在线| 精品国产一二三区| 日韩欧美在线观看一区二区三区| 欧美影院一区二区三区| 亚洲资源视频| 色综合久久久久久久久五月| 国产精品久久久久久久久久直播 | 天天影视涩香欲综合网| 怡红院av一区二区三区| 国产女同互慰高潮91漫画| 欧美精品一区二区三区在线播放 | 国产美女99p| 99视频网站| 51精品国产人成在线观看| 成人高清免费观看| 成人午夜碰碰视频| 国产不卡视频一区| 成人免费视频网站在线观看| 夫妻av一区二区| 大桥未久av一区二区三区中文| 国产精品一品二品| 国产激情视频一区二区在线观看| 国产中文字幕一区| 国产在线视视频有精品| 国产在线播精品第三| 国产精品一区二区在线看| 国产一区二区免费视频| 国产精品一区二区视频| 成人亚洲一区二区一| 9l国产精品久久久久麻豆| 99re这里只有精品6| 成人激情直播| 蜜桃视频日韩| 日韩欧美精品一区二区三区经典| 色一情一区二区三区四区| 正义之心1992免费观看全集完整版| 色婷婷av一区二区三区之一色屋| 欧美性色黄大片| 欧美一级艳片视频免费观看| 精品捆绑美女sm三区| 国产日韩欧美精品综合| 最新久久zyz资源站| 亚洲午夜久久久久久久久久久| 天堂久久久久va久久久久| 久久91精品国产91久久小草| 高清视频一区二区| 成人18视频| 日韩精品伦理第一区| 91黄色免费网站| 日韩一区二区影院| 久久久久高清精品| 亚洲美女免费视频| 日本伊人午夜精品| 国产盗摄一区二区三区| 91玉足脚交白嫩脚丫在线播放| 国产一区免费观看| 色欧美日韩亚洲| 欧美成人免费网站| 中文字幕在线不卡国产视频| 亚洲第一电影网| 国产精品一区在线| 精品国产二区在线| 色嗨嗨av一区二区三区| 91麻豆精品国产91久久久| 久久久91精品国产一区二区精品 | 欧美艳星brazzers| 精品国产乱码久久久久久图片| 国产精品素人一区二区| 夜夜精品浪潮av一区二区三区| 精品一二三四区| 国产激情一区二区三区在线观看| 日韩国产精品一区二区三区| 欧美日免费三级在线| 久久综合九色综合欧美98| 亚洲黄色av一区| 精品无人码麻豆乱码1区2区| av一区二区在线看| 亚洲一区二区四区| 精品国产一二三区| 亚洲国产三级在线| 成人白浆超碰人人人人| 欧美在线激情| 日韩亚洲欧美中文三级| 亚洲婷婷综合色高清在线| 国内精品不卡在线| 精品国产乱码久久久久久丨区2区| 在线亚洲+欧美+日本专区| 久久精品亚洲麻豆av一区二区| 天天影视网天天综合色在线播放 | 一区二区三区美女视频| 国产成人av电影在线| 欧美一区二区在线| 精品久久久久久久久久久久包黑料 | 国产富婆一区二区三区| 色天天综合色天天久久|