黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

COM Vs .NET (Qt ActiveQt)

系統 3797 0

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

COM Vs .NET (Qt ActiveQt)


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

看完書的前三章,真是有種醍醐灌頂的感覺,很多模糊的概念和詞匯逐漸變的清晰起來,
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上得一篇文章。這本書又把我對COM的認識提升了一層,而且是從C++方面。很多模糊的概念和詞匯又清晰了一些,比如
?-declspec (dllexport) dumpbin,?尤其是dll。
雖然我知道在windows平臺上對類庫的引用有兩種 static library(LIB) 和 shared library(DLL),Qt也可以以這兩種模式編譯,但是這兩種是怎么來的卻不是很清楚。看了COM的書后我錯誤的認為.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包括兩個部分,一部分是AxServer,可以把Qt應用程序轉換為ActiveX Server,另外一部分是AxContainer,用來調用COM組件。這樣 C++寫的Qt應用程序通過ActiveQt技術就可以和COM交互上了。

.NET COM Interoperation ( Wrapper?mechanism ,RCW and CCW)
由于公司同時使用.NET, Qt技術,在Qt里面找到了和COM交互的ActiveQt,.NET怎么和COM交互了,查詢了網上的幾篇文章,對他們之間的交互有了一個大概的了解。由于COM和.NET都是微軟自己的核心技術,對于這兩個技術之間的interoperation,微軟還是提供了解決方案,想想也是,否則是自砸招牌。
.NET和COM之間的互調實際上原理是一樣的,加了一個中間層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)


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

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

發表我的評論
最新評論 總共0條評論