久久精品在这里_成人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欧美一区二区三区
久久综合网色—综合色88| 日韩中文欧美在线| 色婷婷综合在线| 免费毛片一区二区三区久久久| 91亚洲大成网污www| av成人免费在线| 97精品国产露脸对白| proumb性欧美在线观看| 51国偷自产一区二区三区| 91久久大香伊蕉在人线| 国产私拍一区| 欧美亚洲精品日韩| 亚洲一区二区三区精品在线观看| 亚洲激情图片| 欧美精品第1页| 精品久久久久一区| 欧美韩日一区二区三区| 亚洲美女在线一区| 日韩激情在线观看| 国产精品中文有码| 国产精华一区二区三区| 日韩国产欧美一区| 欧美在线一区二区三区| 精品少妇一区二区三区在线视频| 国产精品乱人伦| 午夜影院在线观看欧美| 狠狠色丁香久久婷婷综合_中| 国产激情视频一区二区在线观看| 99久久精品一区| 欧美日韩在线一二三| 欧美在线观看你懂的| 精品国产第一区二区三区观看体验| 国产婷婷精品av在线| 一区二区三区精品久久久| 免费看日韩精品| 成人av电影在线网| 日韩成人在线资源| 日韩一区二区三区视频在线| 中文字幕日韩一区| 国内精品久久久久影院一蜜桃| 国产精品美女xx| 在线观看免费一区| 国产欧美日韩视频在线观看| 亚洲狠狠爱一区二区三区| 久久99国产精品麻豆| 成人91免费视频| 欧美午夜寂寞影院| 中文字幕制服丝袜一区二区三区 | 成人av网址在线观看| 久久精品五月婷婷| 欧美日韩久久久一区| 国产精品欧美经典| 九色综合狠狠综合久久| 精品视频免费观看| 欧美日韩高清不卡| 一级女性全黄久久生活片免费| 国产二区国产一区在线观看| 欧美日韩最好看的视频| 日韩视频免费观看高清完整版| 亚洲第四色夜色| 高清视频一区二区三区| 欧美日韩第一区日日骚| 一区二区三区中文免费| 91久久国产自产拍夜夜嗨| 在线播放一区二区三区| 亚洲男同1069视频| 99视频一区二区| 欧美午夜在线一二页| 亚洲成人综合网站| 精品视频导航| 欧美国产日韩a欧美在线观看| 美国毛片一区二区| 天天久久人人| 亚洲免费在线播放| 99国产精品99久久久久久| 欧美在线观看视频一区二区| 亚洲综合图片区| 国产v亚洲v天堂无码| 精品日韩在线观看| 国产精品中文欧美| 欧美日韩国产精选| 老司机午夜精品| 一区二区91美女张开腿让人桶| 中文字幕亚洲综合久久菠萝蜜| 99re视频这里只有精品| 欧美一区二区精品久久911| 日韩经典中文字幕一区| 亚洲国产欧美一区二区三区不卡| 国产精品久久二区二区| 91在线看国产| 久久综合九色综合久久久精品综合| 极品瑜伽女神91| 91国偷自产一区二区三区观看 | 欧美一区永久视频免费观看| 看电影不卡的网站| 日本韩国欧美在线| 日日夜夜精品视频免费| 亚洲高清123| 午夜一区二区三区视频| 无码免费一区二区三区免费播放 | 欧美激情一区二区在线| 97aⅴ精品视频一二三区| 日韩亚洲欧美在线| 国产福利不卡视频| 91精品婷婷国产综合久久竹菊| 另类的小说在线视频另类成人小视频在线 | 国产伦精品一区二区三| 久久精品一区二区三区av| 成人av在线观| 欧美精品一区男女天堂| 97se视频在线观看| 国产欧美日韩三区| 黄色91av| 亚洲成人午夜影院| 中日韩在线视频| 久久超碰97中文字幕| 欧美日韩三级在线| 国产成人在线视频免费播放| 精品理论电影在线| 国产精品日韩二区| 一区二区三区四区视频精品免费| 天天综合色天天综合色hd| 天堂va蜜桃一区二区三区漫画版| 在线视频福利一区| 精品在线播放免费| 日韩欧美黄色影院| 91麻豆蜜桃一区二区三区| 国产精品国产三级国产专播品爱网 | 色就色 综合激情| 国产一区二区三区日韩| 精品1区2区在线观看| 国产精品久久久久久久久久直播| 有码一区二区三区| 91成人看片片| 波多野结衣欧美| 综合中文字幕亚洲| 色综合天天综合网国产成人综合天| 久久成人麻豆午夜电影| 精品国产一区二区三区久久久蜜月| 国产福利一区二区三区在线观看| 亚洲精品国产成人久久av盗摄| 日本国产一区二区| 成人免费视频网站在线观看| 国产精品久久久久7777按摩| 在线免费观看成人| 99久久婷婷国产| 一区二区三区精品久久久| 欧美日本免费一区二区三区| 国产精品视频入口| 日本午夜一区二区| 久久夜色精品国产欧美乱极品| 欧美aaaaa喷水| 国产在线不卡一卡二卡三卡四卡| 中文字幕精品一区| 欧美吞精做爰啪啪高潮| 国产精品对白刺激久久久| 天天色图综合网| 久久久精品综合| 亚洲一区三区| 99热99精品| 免费看欧美美女黄的网站| 亚洲国产精品精华液2区45| 亚洲欧洲精品在线 | 国产一区二区三区四区五区加勒比 | 91精品在线麻豆| av免费精品一区二区三区| 亚洲一区免费在线观看| 在线不卡免费av| 久久国产精品久久| 国产一区美女在线| 夜夜精品视频一区二区| 日韩欧美美女一区二区三区| 欧美理论一区二区| 国产精品888| 亚洲综合免费观看高清完整版 | 欧美日韩一区不卡| 欧美日韩亚洲免费| 成人永久看片免费视频天堂| 五月天亚洲精品| 亚洲国产成人在线| 一本大道久久a久久综合婷婷| 91麻豆蜜桃一区二区三区| 精品亚洲成a人| 亚洲久本草在线中文字幕| 日韩一级二级三级| 亚洲欧美丝袜| 国产亚洲情侣一区二区无| 国产精品一二一区| 午夜精品久久久久久不卡8050| 国产精品久久久久久久午夜片| 6080午夜不卡| 日本电影亚洲天堂一区| 欧美日韩一区二区三区免费看| 欧美日本亚洲| 国产福利久久精品| 成人综合激情网| 国产一区二区三区日韩| 日本不卡一区二区三区 | 中文幕一区二区三区久久蜜桃| 欧美一区二区三区在线电影|