惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

GbyAI
GbyAI
J
Java Code Geeks
雷峰网
雷峰网
WordPress大学
WordPress大学
宝玉的分享
宝玉的分享
云风的 BLOG
云风的 BLOG
V
Visual Studio Blog
V
Vulnerabilities – Threatpost
S
Securelist
The Hacker News
The Hacker News
The Register - Security
The Register - Security
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Help Net Security
Help Net Security
G
Google Developers Blog
Hugging Face - Blog
Hugging Face - Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
M
MIT News - Artificial intelligence
AI
AI
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
The GitHub Blog
The GitHub Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Schneier on Security
Schneier on Security
N
Netflix TechBlog - Medium
T
The Blog of Author Tim Ferriss
Google DeepMind News
Google DeepMind News
Hacker News - Newest:
Hacker News - Newest: "LLM"
H
Hacker News: Front Page
博客园 - 司徒正美
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
B
Blog
Microsoft Azure Blog
Microsoft Azure Blog
大猫的无限游戏
大猫的无限游戏
Security Latest
Security Latest
Engineering at Meta
Engineering at Meta
N
News and Events Feed by Topic
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
酷 壳 – CoolShell
酷 壳 – CoolShell
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
T
Threat Research - Cisco Blogs
U
Unit 42
V
V2EX
V2EX - 技术
V2EX - 技术
L
LINUX DO - 最新话题
aimingoo的专栏
aimingoo的专栏
Microsoft Security Blog
Microsoft Security Blog
Recorded Future
Recorded Future
P
Privacy & Cybersecurity Law Blog
美团技术团队
小众软件
小众软件
F
Fortinet All Blogs

博客园 - 番茄鸡蛋面

VS .NET add web reference Dynamic Link Library DLL 复习进程和线程 process vs thread Window Firewall cause "MS SQL Server New SQL Server Registeration" and "New ODBC DSN " failure 牛人与非牛人的对话 - 番茄鸡蛋面 - 博客园 Web Accessibility toolbar -- a must-have toolbar for web developer 好好学习天天向上 Oracle table problem Oracle - MSSQL Convert Tips (2) .NET 数据访问体系结构指南 NET Framework Data Providers Links or Postbacks ASP.NET features we use, ASP.NET experience I have Word Note 001 Skype 0.98.0.28 release! I can't agree more Skype Skype Skpe Getting Your Résumé Read 在行进中开火 Fire and Motion By Joel Spolsky
COM Vs .NET (Qt ActiveQt)
番茄鸡蛋面 · 2005-03-29 · via 博客园 - 番茄鸡蛋面

这些天在学习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)