黄视频网站在线免费观看-黄视频网站在线看-黄视频网站在线观看-黄视频网站免费看-黄视频网站免费观看-黄视频网站免费

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

手機站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時隨地免費學(xué)

千鋒教育

掃一掃進入千鋒手機站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時隨地免費學(xué)習(xí)課程

當前位置:首頁  >  技術(shù)干貨  > 什么是COM和如何使用COM?

什么是COM和如何使用COM?

來源:千鋒教育
發(fā)布人:xqq
時間: 2023-10-11 20:12:19 1697026339

一、COM

COM(Component Object Model)是最近WIndows世界中最流行的TLA(three-letter acronym)。一些新技術(shù)的出現(xiàn)都是基于COM的。并且這些技術(shù)文檔中拋出了很多術(shù)語,比如 「COM對象」 、 「接口」 、 「服務(wù)器」 等等,但都假設(shè)您已熟悉COM的基本工作原理和使用方法。

COM到底是什么

簡單地說,COM是一種跨不同應(yīng)用程序和語言共享二進制代碼的方法。這與c++方法不同,后者促進了源代碼的重用。ATL就是一個很好的例子。雖然源代碼級重用可以很好地工作,但它只適用于c++。它還引入了名稱沖突的可能性,更不用說在項目中擁有多個代碼副本而導(dǎo)致的工程膨脹和臃腫。

Windows允許使用dll在二進制級別上共享代碼。畢竟,這就是Windows應(yīng)用程序的功能——重用kernel32.dll, user32.dll,等等。但是由于dll是寫在C接口上的,所以它們只能由C或理解C調(diào)用約定的語言使用。這就把共享的重擔放在了編程語言實現(xiàn)者身上,而不是DLL本身。

MFC通過MFC擴展dll引入了另一種二進制共享機制。但是這些限制更加嚴格——你只能從MFC應(yīng)用程序中使用它們。

COM通過定義二進制標準解決了所有這些問題,這意味著COM指定二進制模塊(dll和exe)必須被編譯以匹配特定的結(jié)構(gòu)。該標準還精確地指定了在內(nèi)存中必須如何組織COM對象。二進制文件還必須不依賴于任何編程語言的任何特性(比如c++中的名稱裝飾)。一旦完成了這些,就可以很容易地從任何編程語言訪問模塊。二進制標準將兼容性的重擔壓在了生成二進制文件的編譯器上,這使得以后需要使用這些二進制文件的人更加容易。

內(nèi)存中COM對象的結(jié)構(gòu)恰好使用與c++虛函數(shù)相同的結(jié)構(gòu),這就是為什么許多COM代碼使用c++的原因。但是請記住,編寫模塊所用的語言是不相關(guān)的,因為生成的二進制文件可以被所有語言使用。

順便說一句,COM不是特定于win32的。理論上,它可以移植到Unix或任何其他操作系統(tǒng)。然而,我似乎從來沒有提到過COM以外的Windows世界。

使用COM對象

每種語言都有自己處理對象的方式。例如,在c++中,您可以在棧上創(chuàng)建它們,或者使用new動態(tài)地分配它們。因為COM必須是語言無關(guān)的,所以COM庫提供了自己的對象管理例程。COM和c++對象管理的比較如下:

「創(chuàng)建一個對象」

C++中,使用?「operator new」?或者在棧中創(chuàng)建一個對象COM中,調(diào)用COM庫的API創(chuàng)建

「刪除一個對象」

C++中,使用?「operator delete」?或者棧中的對象作用域消失時,釋放這個對象COM中,所有對象都保留自己的引用計數(shù)。調(diào)用者必須在調(diào)用者使用對象完成時告訴對象。當引用計數(shù)達到0時,COM對象從內(nèi)存中釋放自己。

由此可見,對象的創(chuàng)建和銷毀這兩個階段缺一不可。當你創(chuàng)建一個COM對象時,你告訴COM庫你需要什么接口。如果對象被成功創(chuàng)建,COM庫返回一個指向所請求接口的指針。然后,您可以通過該指針調(diào)用方法,就像它是一個普通c++對象的指針一樣。

延伸閱讀:

二、dwFlags是什么

dwFlags確定Windows如何處理“復(fù)合”Unicode字符,即字母后跟變音符號。復(fù)合字符的一個例子是e。如果此字符位于代碼頁中指定的代碼頁中,則不會發(fā)生任何特殊情況。但是,如果它不在代碼頁中,Windows必須將其轉(zhuǎn)換為其他內(nèi)容。 傳遞WC_COMPOSITECHECK使API檢查非映射的復(fù)合字符。傳遞WC_SEPCHARS使Windows將字符分成兩個部分,字母后跟變音符號,例如e ‘。傳遞WC_DISCARDNS會使Windows放棄變音符號。傳遞WC_DEFAULTCHAR將使Windows用lpDefaultChar參數(shù)中指定的“默認”字符替換復(fù)合字符。默認行為是WC_SEPCHARS。

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
免費領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
什么是 GrapheneOS?

一、什么是 GrapheneOSGrapheneOS是一個基于安卓操作系統(tǒng)的安全和隱私增強版。它專注于提供用戶隱私、安全性和安全更新方面的保護,是一個開源...詳情>>

2023-10-11 22:04:01
一款好的APP應(yīng)該是什么樣子?

一、好的APP具備的特點1、直觀易用用戶界面應(yīng)該簡潔明了,操作邏輯清晰,使用戶能夠快速上手并自如地進行操作。良好的用戶體驗是一款成功的APP...詳情>>

2023-10-11 21:33:38
python的五個特點?

一、簡潔易讀的語法Python以簡潔易讀而著稱。它采用了一種簡單而直觀的語法,使得代碼具有高度的可讀性,降低了學(xué)習(xí)和理解的難度。Python使用縮...詳情>>

2023-10-11 21:23:04
區(qū)塊鏈技術(shù)在醫(yī)療領(lǐng)域有沒有什么可以應(yīng)用的場景?

一、區(qū)塊鏈技術(shù)在醫(yī)療領(lǐng)域的應(yīng)用區(qū)塊鏈在醫(yī)療領(lǐng)域的應(yīng)用前景廣泛,國內(nèi)外各機構(gòu)都在積極探索區(qū)塊鏈在醫(yī)療領(lǐng)域的多方面應(yīng)用。主要應(yīng)用方向包括醫(yī)...詳情>>

2023-10-11 21:17:44
Java并發(fā)編程需要掌握什么?

一、Java并發(fā)編程需要掌握的內(nèi)容1、線程基礎(chǔ)知識了解線程的概念、生命周期和狀態(tài)轉(zhuǎn)換,以及如何創(chuàng)建和管理線程。熟悉Java中的Thread類和Runnabl...詳情>>

2023-10-11 21:08:03
毛片高清| 97视频免费在线| 亚洲第一色在线| 国产成a人片在线观看视频| 国产网站免费| 国产一区国产二区国产三区| 精品视频免费在线| 一级女性大黄生活片免费| 国产伦精品一区二区三区无广告 | 精品视频在线观看免费| 精品国产亚一区二区三区| 亚洲 欧美 91| 国产91精品一区| 日本在线www| 天堂网中文字幕| 国产伦久视频免费观看视频| 国产一级强片在线观看| 精品久久久久久综合网| 四虎精品在线观看| 精品国产一级毛片| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 久久国产影院| 天堂网中文字幕| 香蕉视频久久| 毛片成人永久免费视频| 午夜激情视频在线播放| 精品国产一区二区三区久| 亚洲女人国产香蕉久久精品| 亚欧乱色一区二区三区| 国产成人啪精品| 深夜做爰性大片中文| 999久久66久6只有精品| 精品久久久久久综合网| 国产成人啪精品| 国产精品自拍一区| 国产美女在线观看| 日韩专区亚洲综合久久| 欧美激情一区二区三区在线 | 韩国毛片基地| 99热精品在线| 国产精品1024永久免费视频| 黄视频网站在线免费观看| 久久成人亚洲| 国产国语对白一级毛片| 久草免费在线视频| 日韩综合| 中文字幕97| 黄视频网站免费| 欧美激情一区二区三区在线播放 | 91麻豆国产| 午夜在线亚洲| 美国一区二区三区| 中文字幕一区二区三区 精品 | 欧美电影免费| 亚欧成人毛片一区二区三区四区 | 国产成+人+综合+亚洲不卡| 国产一区国产二区国产三区| 深夜做爰性大片中文| 91麻豆爱豆果冻天美星空| 久久成人亚洲| 欧美激情一区二区三区在线| 久久久成人影院| 国产91丝袜在线播放0| 天天色成人| 天堂网中文字幕| 天天做日日爱| 午夜激情视频在线播放| 久久国产精品只做精品| 国产不卡高清在线观看视频| 成人免费观看的视频黄页| 日本免费乱理伦片在线观看2018| 欧美国产日韩精品| 国产成人精品综合久久久| 日韩一级精品视频在线观看| 亚洲精品影院| 亚洲第一色在线| 成人免费福利片在线观看| 一级女性全黄久久生活片| 精品国产香蕉在线播出| 天天做日日爱| 国产高清在线精品一区a| 国产网站在线| 日韩av东京社区男人的天堂| 成人影视在线观看| 日韩在线观看视频免费| 国产综合成人观看在线| 国产一区免费在线观看| 久久久成人影院| 欧美激情一区二区三区视频 | 日韩中文字幕一区二区不卡| 欧美国产日韩在线| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 久久成人亚洲| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 国产国语对白一级毛片| 四虎精品在线观看| 欧美另类videosbestsex视频| 一级女人毛片人一女人| 国产精品免费精品自在线观看| 欧美另类videosbestsex久久| 天天做日日爱| 国产成a人片在线观看视频| 国产视频一区二区三区四区 | 日韩在线观看视频免费| 国产国语对白一级毛片| 国产国语在线播放视频| 一级女人毛片人一女人| 一 级 黄 中国色 片| 深夜做爰性大片中文| 久久99欧美| 亚洲第一页乱| 日韩免费在线视频| 91麻豆爱豆果冻天美星空| 韩国三级香港三级日本三级la| 一本高清在线| 欧美大片a一级毛片视频| 亚洲天堂免费| 精品视频在线观看视频免费视频| 欧美大片a一级毛片视频| 超级乱淫黄漫画免费| 精品视频一区二区三区免费| 黄视频网站在线免费观看| 国产伦理精品| 日日日夜夜操| 国产不卡高清| 97视频免费在线| 高清一级毛片一本到免费观看| 午夜欧美成人久久久久久| 精品视频在线观看免费| 日韩一级黄色大片| 日韩男人天堂| 国产精品123| 欧美电影免费看大全| 久久国产精品自由自在| 国产a毛片| 国产高清在线精品一区二区| 美国一区二区三区| 欧美爱色| 精品视频在线观看免费| 韩国三级一区| 欧美另类videosbestsex高清| 欧美激情一区二区三区在线 | 韩国毛片| 四虎论坛| 美女免费精品视频在线观看| 成人免费高清视频| 久久久久久久久综合影视网| 天天做日日干| 欧美国产日韩在线| 青青久久精品| 深夜做爰性大片中文| 亚洲天堂在线播放| 可以免费看毛片的网站| 亚洲 激情| 国产视频在线免费观看| 国产综合91天堂亚洲国产| 色综合久久天天综线观看| 日韩在线观看网站| 成人高清护士在线播放| 久久国产一区二区| 欧美大片a一级毛片视频| 欧美激情一区二区三区视频| 久久99中文字幕| 国产国语对白一级毛片| 99久久精品国产麻豆| 欧美日本免费| 国产a视频| 欧美激情一区二区三区中文字幕| 国产不卡精品一区二区三区| 日韩av东京社区男人的天堂| 欧美日本免费| 国产不卡在线看| 青青青草影院| 可以免费看毛片的网站| 日韩av东京社区男人的天堂| 青草国产在线| 日韩在线观看免费| 欧美电影免费看大全| 一本伊大人香蕉高清在线观看| 999精品在线| 国产亚洲精品成人a在线| 欧美国产日韩久久久| 亚洲精品久久玖玖玖玖| 国产一区免费在线观看| 九九久久国产精品大片| 国产不卡在线观看视频| 高清一级片| 日韩一级黄色片| 青青青草视频在线观看| 99久久精品国产免费| 九九九国产| 国产网站麻豆精品视频| 日韩专区在线播放| 精品久久久久久免费影院| 日本特黄特色aa大片免费| 精品久久久久久中文字幕一区| 二级特黄绝大片免费视频大片| 韩国三级视频在线观看| 亚洲女人国产香蕉久久精品|