《COM技术内幕》FAQ
2006-07-21 11:45:54 来源:WEB开发网读书问题一:“自动化在许多不同的方面用开发人员编写的代码来代替编译器生成的代码......” 请问这句话如何理解?(第11章,分发接口与自动化,P231)
答:这句话大意是说:我们原先所写的应用,都是源码一级,需要经过编译器编译,才能执行,现在,用脚本语言来操作自动化接口,可以动态的完成相同的应用(其实是解释执行)。
一个简单的例子,你肯定没有Word的源码,如果你想用Word来生成一个针对具体应用领域(比方说政府公文)的应用,你只能找有源码的公司来修改源码,以适应你的特殊需要。(微软听你的?)
但是,你可以用自动化接口来定制你的特定应用,用VBA脚本来控制Word的自动化接口就可以完成。是的,解释执行是慢了些,但是,对你来说不用改源码,不用再去测试你修改的源码部分,不是更好吗?
读书问题二:“若C++程序员想在运行时从头开始构造一个vtbl,那他可以完全自行决定如何构造。另一方面......” 这段话应如何理解?(第11章,分发接口与自动化,P234)
答:是的,一个VTBLE的生成是由你所用的编译器替你完成的,但是,如果你明白了 vtbl的构造过程,你可以仿制一个出来。建议读:《COM本质论》+《Inside C++ Object Model》,要有很好的心理准备,啃硬骨头。
读书问题三:OleInitialize 和 CoInitialize(Ex)这两个函数有什么区别?
P236倒数第六行有对OleInitialize的调用
答:CoInitialize以及CoInitializeEx 是用来初始化COM运行环境的,就象练武的人在练武前先划了个圈,在圈里摆上了兵器。
OleInitialize是初始化Ole的运行环境,Ole是在COM的基础上作的扩展,是ActiveX运行的基础。就象是在刚才的圈子里撑起了个钢丝,要表演钢丝上的表演一样。
- ››COM 组件多层聚合嵌套原理
- ››技术分享:post
- ››技术持续创新支撑视频互动领域稳定前行
- ››技术人员求职必看之Javascript词法作用域
- ››技术行业求职路上 不断学习才能更好工作
- ››技术优势显著,EastFax电子传真引CIO强烈关注
- ››COM对象与连接点机制及其MFC程序实现
- ››comScore 统计显示 Android 市场份额继续高歌猛进...
- ››ComScore:谷歌 Android 美国市场份额增至9%
- ››技术回顾:Android 怎么样堆砌安全防线的?
- ››COM中获取JavaScript数组大小
- ››Comet:基于 HTTP 长连接的“服务器推”技术
更多精彩
赞助商链接