COM Vs .NET (Qt ActiveQt)
2012-12-27 10:18
169 查看
COM Vs .NET (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)
这些天在学习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)
- findmaven.net vs findjar.com-查看Jar的依赖树
- findmaven.net vs findjar.com-查看dependency信息
- qt-vs-addin 配置出错 MSVCL.NETMSBUILD 的问题
- VS.Net C# 调用 Active 组件
- VS.Net C# 调用 Active 组件
- findmaven.net vs findjar.com-国际版网页重新设计
- VS.Net C# 调用 Active 组件
- VS.Net C# 调用 Active 组件
- VS.Net C# 调用 Active 组件
- APM for .NET评测系列:OneAPM vs SCOM
- 【VS.NET 调试异常】 CLR 无法从 COM 上下文 XXX 转换为 COM 上下文 XXX
- VS.Net C# 调用 Active 组件
- VS.Net C# 调用 Active 组件
- Active Report for .net"在VS中正常显示在IIS中无法显示"的问题之解决办法
- VS.Net C# 调用 Active 组件
- VS.Net C# 调用 Active 组件
- QT+VS Active组件开发
- Qt简介以及vs.net 2005与qt的联姻指南
- 在VS.net 2008中利用ATL来创建COM关于接口文件的引用变动