日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

COM Vs .NET (Qt ActiveQt)

系統(tǒng) 3601 0

COM Vs .NET (Qt ActiveQt) - 番茄雞蛋面 - 博客園

COM Vs .NET (Qt ActiveQt)


這些天在學(xué)習(xí)Qt的ActiveQt功能,由于對(duì)于COM和ActiveX知識(shí)的缺乏,雖然讀了Qt ActiveQt相關(guān)的文檔很多遍,
很多的東西的理解都不是很徹底。于是決定補(bǔ)充一下COM的相關(guān)知識(shí)。
在網(wǎng)上查了相關(guān)的書籍,看到潘愛民老師翻譯的 Essential COM, 評(píng)論非常不錯(cuò),而且我也看過原作者的 Essental .NET ,感覺確實(shí)不錯(cuò),決定要買。?忽然又看到潘老師的自己的著作 COM原理與應(yīng)用 ,就先訂購(gòu)這本書,等看完了在班本質(zhì)論。

看完書的前三章,真是有種醍醐灌頂?shù)母杏X,很多模糊的概念和詞匯逐漸變的清晰起來,
COM的概念,in-process Vs. out-of-process server,COM component, COM Object,
COM interface, EXE,? DLL(Dynamic Link Library), QueryInterface, IUnknown, GUID.

今天在查資料,看到了以前down的chm電子文檔, From CPP to COM ,又豁然開朗了一把,Google查了一下,原來是MSDN上得一篇文章。這本書又把我對(duì)COM的認(rèn)識(shí)提升了一層,而且是從C++方面。很多模糊的概念和詞匯又清晰了一些,比如
?-declspec (dllexport) dumpbin,?尤其是dll。
雖然我知道在windows平臺(tái)上對(duì)類庫(kù)的引用有兩種 static library(LIB) 和 shared library(DLL),Qt也可以以這兩種模式編譯,但是這兩種是怎么來的卻不是很清楚。看了COM的書后我錯(cuò)誤的認(rèn)為.NET以前的dll都是COM組件。

dumpbin工具可以查看dll的信息。

Dumpbin
The Microsoft COFF Binary File Dumper (DUMPBIN.EXE) displays information about 32-bit Common Object File Format (COFF) binary files. You can use DUMPBIN to examine COFF object files, standard libraries of COFF objects, executable files, and dynamic-link libraries (DLLs).


Qt CPP COM Interoperation (ActiveQt)
Qt的ActiveQt Frmaework包括兩個(gè)部分,一部分是AxServer,可以把Qt應(yīng)用程序轉(zhuǎn)換為ActiveX Server,另外一部分是AxContainer,用來調(diào)用COM組件。這樣 C++寫的Qt應(yīng)用程序通過ActiveQt技術(shù)就可以和COM交互上了。

.NET COM Interoperation ( Wrapper?mechanism ,RCW and CCW)
由于公司同時(shí)使用.NET, Qt技術(shù),在Qt里面找到了和COM交互的ActiveQt,.NET怎么和COM交互了,查詢了網(wǎng)上的幾篇文章,對(duì)他們之間的交互有了一個(gè)大概的了解。由于COM和.NET都是微軟自己的核心技術(shù),對(duì)于這兩個(gè)技術(shù)之間的interoperation,微軟還是提供了解決方案,想想也是,否則是自砸招牌。
.NET和COM之間的互調(diào)實(shí)際上原理是一樣的,加了一個(gè)中間層wrapper class,分別是Runtime Callable Wrapper和COM Callable Wrapper.

Regasm
The Assembly Registration tool reads the metadata within an assembly and adds the necessary entries to the registry, which allows COM clients to create .NET Framework classes transparently. Once a class is registered, any COM client can use it as though the class were a COM class. The class is registered only once, when the assembly is installed. Instances of classes within the assembly cannot be created from COM until they are actually registered.

Tlbexp
Tlbimp

.NET COM comparison ( .NET is a better COM)
Assembly

(To be continued)

COM Vs .NET (Qt ActiveQt)


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 沐川县| 吴江市| 高阳县| 溧阳市| 苍梧县| 乾安县| 新郑市| 黄石市| 合山市| 华容县| 桦甸市| 章丘市| 积石山| 保靖县| 南康市| 麻阳| 于都县| 镇宁| 马鞍山市| 响水县| 日喀则市| 新巴尔虎左旗| 界首市| 凭祥市| 南部县| 贡嘎县| 五家渠市| 邓州市| 翁源县| 眉山市| 平舆县| 尤溪县| 白山市| 张掖市| 手游| 雅安市| 神农架林区| 上思县| 高清| 普定县| 旬邑县|