| 潘爱民 提供 2000/06/12 未经作者允许任何机构或个人不得以任何方式转载或复制本文 |
|
ATL之深入浅出 介绍一本关于ATL的书《ATL Internals》 潘爱民,5月7日,2000年 北京大学计算机研究所,100871 引言 面对计算机图书市场的繁荣景象,我经常感叹今天学习计算机开发技术的同道们是多么幸运。十年前,我们学习计算机语言非常不容易,要掌握各种开发工具只有靠自己的摸索和极少量的参考手册。我记得,94年我学习Visual C++和MFC的时候,基本上只有靠软件自带的联机帮助;现在情形大不同了,书店中的计算机图书琳琅满目,关于Visual C++和MFC的书籍尤其多。有几位编辑朋友劝我写一点这方面的书,我觉得不大有必要了,因为Visual C++的好书已经不少了,适合各种读者层次的书籍几乎都可以买到,而且有一些书还相当不错。不过,在98年的时候,我感觉关于COM书籍实在太少,几乎没有,于是我下定决心,自己写一本关于COM的书籍,在99年底的时候由清华出版社出版。很快地,关于COM的书籍已经很多了,有些国外的名著也相继引入国内。从这十多年的计算机开发技术历史来看,一门技术只要有很多的书籍来介绍,那么这项技术很快就会普及,否则就难以推广。 说到COM,相信在Windows平台上有过开发经验的朋友一定接触过,它是Windows操作系统的基本软件模型,从93年建立以来,为Windows平台的推广和发展做出了不可磨灭的贡献,而且其自身还在不断发展。但是要真正开发COM组件并不是很轻松,在Visual C++中,我们既可以使用MFC也可以使用ATL。MFC完全面向Windows应用,它用C++的封装技术建立了一套适合于开发Windows应用的C++类库,虽然在后期的版本中MFC提供了大量的COM支持,但是从基本的设计结构上讲,MFC不适合于开发专业的COM组件,它适合于在Windows应用的基础上提供相应的COM支持。 ATL则不同于MFC,它完全面向COM组件,其技术路线也不同于MFC,MFC使用的是C++中的继承、封装、嵌套等常规技术,而ATL使用了C++中模板、多继承等高级技术,甚至还用到了STL。所以学习和使用ATL要求我们必须熟悉这些C++高级特性。另一方面,ATL结构完全针对COM中的诸多规范,这就要求使用人员必须非常了解COM规范,才有可能真正把ATL用好。 虽然目前关于MFC的书籍很多,但是完全介绍ATL的书籍非常少,甚至根本没有,这不能不说是一个遗憾。我有幸在今年2月份看到一本ATL的英文原版书《ATL Internals》,本文将为大家介绍这本书。 在看这本书之前,我对ATL已经有了基本的了解,98年底由于写作的需要,我曾经读过ATL的部分源码,对于ATL的基本结构还算清楚。我刚开始看到这本书的时候,快速读了一章,并没有感觉这本书有多好,后来由于工作忙碌的原因,一直没有得闲,直到最近,我才仔细把这本书读了一遍,感觉这是一本不可多得的好书。以前我很少仔细阅读开发技术类的书籍,一则是由于自己读书太慢,二则是往往开发技术类的书籍不大值得精读。但是这本书我读得很仔细,因为这本书把ATL的精华几乎全表述出来了,ATL中的许多内容都能让你为之心动,作为一个程序员,这也是一个学习和提高的机会。 我写这篇文章的意图不仅仅是向读者介绍这本书,我也希望能够把我在阅读过程中的心得与大家分享。同时我还希望能够按照这本书的路线,向大家介绍一下ATL的结构和机理。 准备阅读 《ATL Internals》由Addison-Wesley出版社出版,作者为Brent Rector和Chris Sells,出版时间为1999年2月,全书600多页。关于这本书的背景知识可能对于许多COM迷和ATL迷来说很有意思。首先,这本书的序言是由ATL的发明人Jim Springfield所撰写,在序言中,Jim介绍了ATL的历史,对于书中所介绍的内容大加赞赏,称赞“阅读此书可以学到许多阅读源码所不能掌握的内容”,在序言的最后,Jim还谈到了ATL的将来。 其次,在作者写的自序中,他们提到了ATL离不开COM,要想掌握ATL,就一定要先掌握COM。ATL是一个产生C++/COM代码的框架,就如同C语言是一个产生汇编代码的框架,这个观点颇为新颖,仔细想来,确是如此。作者特别推荐了Don Box的书《Essential COM》,其实在英文书中,COM书籍不少,这显示出两位作者与Don Box的关系非同一般。我记得Don Box也曾经推荐过《ATL Internals》这本书,如果读者有机会到亚马逊网上书店(www.amazon.com)看看本书的书评就可以知道他们之间有很亲密的关系,其中作者之一Chris Sells与Don Box以及另外两人合作写了一本COM的书《Effective COM》(本书文中有多处推荐了这本书)。我相信他们的互荐是基于相互之间绝对了解的基础之上的,他们都是COM顶尖高手,也是ATL顶尖高手,读者经常可以在MSJ(Microsoft System Journal)杂志上看到他们的文章。 诚如作者所言,阅读此书需要极强的预备知识,按照我阅读此书之后的理解,读者在阅读此书之前应该有以下几方面的准备知识:
所以说,《ATL Internals》是一本起点很高的书,原因在于ATL是一门起点很高的技术。据我所知,现在有许多程序员已经在使用ATL了,这是好现象,说明我们国内的程序员水平相当高,虽然我们的资料信息还不够丰富(至少对于ATL而言是这样),但是我们仍然紧跟这些新的技术。尽管如此,要想真正用好ATL,一定要了解ATL的机理,这不同于MFC的情形。假如我们不懂MFC的机理,一样可以做出很好的程序,利用MFC,在不懂OLE细节的情况下,一样可以提供OLE的支持。ATL要求我们很细致地调节它的类,根据需要选择合适的模板类,必要时还要修正它的行为。ATL尽管已经到了3.0版本,但是仍然有不少的错误,这本书已经指出了一些错误,但我相信肯定还会有更多的错误,这对程序员提出了更高的要求,确实是这样,因此结论是:使用ATL一定要懂ATL! 尽管我这样说,但我还是认为ATL是一项好技术、是一个好的COM模板类库。而且我也深感好书对于ATL程序员的重要性,有些东西是不能从源码和参考手册获得的,既然我看到了这本好书,那我应该把这本书介绍出来,让大家知道这本书。也让大家分享我的体会。如果有那家出版社能够引进这本书的话,则是我们广大ATL程序员的福音了。 内容介绍 下面我按照《ATL Internals》的叙述顺序,逐项介绍ATL的内容,希望读者不仅能够了解本书的内容,也能够借此了解ATL的机理。原书共包括十一章,我按照每一章所介绍的内容把这十一章分成四个部分。 第一部分 ATL的使用和功能展示 这一部分篇幅很小,只有短短的一章内容,读起来非常轻松。初时我以为整本书都是这样的,所以感觉这也是一本指南性质的书,当时就没有太重视。 在这一章里,作者简单介绍了ATL的概念,然后通过AppWizard和ATL Object Wizard创建COM服务程序和COM对象类的过程逐项介绍了Wizard中各个选项的含义。有了基本的工程框架和对象类框架之后,作者开始展示ATL的一些其他特性:
|
相关推荐
深入解析ATL(第2版)ATL Internals: Working with ATL 8 (2nd Edition)
中文版 清晰 pdf,经典ATL又一升级力作,不容错过。 这是第一部分。因为不能大于60M,所以只能分开为2部分了。 原书名: ATL Internals: Working with ATL 8 (2nd Edition) 作者: (美)Chris Tavares Kirk Fertitta Brent Rector Chris Sells
深入解析ATL (ATL Internals) 第1版+第2版 高清PDF下载
深入解析ATL (ATL Internals) 潘爱民译 深入解析ATL(第2版)中文版 ATL Internals, 2nd Edition Working with ATL 8 转载于:https://www.cnblogs.com/gavinhughhu/archive/2010/11/12/1875348.html...
ATL Internals
The source code of ATL Internals
《ATL Internals》书评 作者 潘爱民
关键字 ATL 原作者姓名 潘爱民文章原始出处 http://www.vchelp.net/ 正文《ATL Internals》书评 潘爱民 提供 2000/06/12 ATL之深入浅出介绍一本关于ATL的书《ATL Internals》潘爱民,5月7日,2000年北京大学计算机研究所,100871引言面对计算机图书市场的繁荣景象,我经常感叹今天学习计算机开发技术的同道们是多么幸运。十年前,我们学
ATL 技术内幕 ATL技术内幕
ATL技术内幕ATL技术内幕ATL技术ATL技术内幕内幕
ATLInternals
ATLInternals 嵌入
《ATL Internals》书评 . 潘爱民(转)
ATL之深入浅出介绍一本关于ATL的书《ATL Internals》 潘爱民,5月7日,2000年北京大学计算机研究所,100871引言面对计算机图书市场的繁荣景象,我经常感叹今天学习计算机开发技术的同道们是多么幸运。十年前,我们学习计算机语言非常不容易,要掌握各种开发工具只有靠自己的摸索和极少量的参考手册。我记得,94年我学习Visual C++和MFC的时候,基本上只有
SAP MM | 采购的自动寻源:货源清单(ME01)与配额协议(MEQ1)的应用与 MRP 逻辑
SAP MM模块中,当物料有多个供应商时,MRP生成的采购申请常因"固定供应商"字段为空而无法自动发单。系统寻源优先级为:配额协议>货源清单>采购信息记录。解决方案包括:1)货源清单指定唯一固定供应商;2)配额协议按比例精准拆分;3)配额协议长期分配更推荐。手工创建采购申请时配额协议无效。建议优先使用货源清单Fix标识或配额分配功能,避免拆分导致的单据碎片化。
ATL之深入浅出书评(潘爱民)
ATL之深入浅出介绍一本关于ATL的书《ATL Internals》潘爱民,5月7日,2000年北京大学计算机研究所,100871引言面对计算机图书市场的繁荣景象,我经常感叹今天学习计算机开发技术的同道们是多么幸运。十年前,我们学习计算机语言非常不容易,要掌握各种开发工具只有靠自己的摸索和极少量的参考手册。我记得,94年我学习Visual C++和MFC的时候,基本上只有靠
从Blender舞步到夜空画卷:基于Pix飞控的无人机编队灯光秀全链路开发实践
本文详细介绍了基于Pixhawk飞控的无人机编队灯光秀全链路开发实践。从Blender三维动画设计、QGroundControl地面站二次开发与MAVLink通信桥接,到PX4飞控的OFFBOARD模式路径控制与LED灯光驱动实现,最后通过Gazebo仿真验证并完成真机组装与首飞。文章为无人机爱好者提供了一套完整的、从创意设计到夜空执行的开源解决方案,重点阐述了多机同步与灯光控制的核心技术挑战与应对策略。
深度学习CV八股文
深度学习CV八股文一、深度学习中解决过拟合方法L1和L2正则化DropoutDropout正则化Inverted Dropout(反向随机失活)Dropout起到正则化效果的原因:Dropout的缺点eargstopping ( 早停法 )二、深度学习中解决欠拟合方法三、梯度消失和梯度爆炸解决梯度消失的方法解决梯度爆炸的方法四、神经网络权重初始化方法Xavier指数加权移动平均数五、梯度下降法梯度下降SGD(随机梯度下降法)Momentum(动量梯度下降)Nesterov Momentum自适应学习率算法A
潘爱民::介绍一本关于ATL的书《ATL Internals》 ----转
面对计算机图书市场的繁荣景象,我经常感叹今天学习计算机开发技术的同道们是多么幸运。十年前,我们学习计算机语言非常不容易,要掌握各种开发工具只有靠自己的摸索和极少量的参考手册。我记得,94年我学习Visual C++和MFC的时候,基本上只有靠软件自带的联机帮助;现在情形大不同了,书店中的计算机图书琳琅满目,关于Visual C++和MFC的书籍尤其多。有几位编辑朋友劝我写一点这方面的书,我觉得不大有必要了,因为Visual C++的好书已经不少了,适合各种读者层次的书籍几乎都可以买到,而且有一些书还相当不错
量化交易新手入门:从零开始搭建你的第一个Python交易策略(附完整代码)
本文为量化交易新手提供从零开始搭建Python双均线策略的完整指南,涵盖环境配置、数据获取、策略实现及风险管理等关键步骤。通过详细的代码示例和实践建议,帮助读者快速掌握量化交易的核心技术,并避免常见陷阱。文章特别强调Python在量化交易中的技术革新优势,适合希望进入金融科技领域的初学者。
潘爱民::介绍一本关于ATL的书《ATL Internals》
言面对计算机图书市场的繁荣景象,我经常感叹今天学习计算机开发技术的同道们是多么幸运。十年前,我们学习计算机语言非常不容易,要掌握各种开发工具只有靠自己的摸索和极少量的参考手册。我记得,94年我学习Visual C++和MFC的时候,基本上只有靠软件自带的联机帮助;现在情形大不同了,书店中的计算机图书琳琅满目,关于Visual C++和MFC的书籍尤其多。有几位编辑朋友劝我写一点这方面的书,我觉
VMFS数据存储(datastore)丢失后恢复步骤
vmfs datastore恢复步骤
水文地质人必备:用Origin Pro 2023手把手教你搞定Piper三线图(附数据模板)
本文详细介绍了如何使用Origin Pro 2023绘制专业级Piper三线图,适用于水文地质数据分析。从数据准备、百分比计算到图表参数设置,提供全流程指导,并附赠数据模板和样式预设文件,帮助用户快速掌握这一水文地球化学分析的核心工具。
ATL之深入浅出书评(转)
ATL之深入浅出 介绍一本关于ATL的书《ATL Internals》 潘爱民,5月7日,2000年 北京大学计算机研究所,100871 引言 面对计算机图书市场的繁荣景象,我经常感叹今天学习计算机开发技术的同道们是多么幸运。十年前,我们学习计算机语言非常不容易,要掌握各种开发工具只有靠自己的摸索和极少量的参考手册。我记得,94年我学习Visual C++和MFC的时候,基本上只有
电力-平衡式IEC 60870-5-101规约报文解析
本文详细介绍了电力自动化中平衡式IEC 60870-5-101规约的应用,包括链路建立与初始化、对时、遥控操作、数据上送和总召唤等关键步骤,通过实例解析了报文格式和交互过程,是理解配网自动化通信的重要参考资料。
讲ATL和COM的经典书
1.讲ATL的经典书《ATL Internals》。 2.《COM原理与应用》是COM基础理论的。讲MFC和ATL都比较少,潘爱民在他的书评中也说过这个。个人认为COM原理与应用算是经典。 3. 潘爱民的《COM原理与应用》,《ATL Internals》,候捷《COM本质论》,其中《COM原理与应用》应该是潘自己写的,后两本都是翻译的。《ATL Internals》,主要针对ATL 3.0。
ubuntu18.04在carla中导入Roadrunner自建的地图
进入Carla根目录下的Import文件夹在Import文件夹下面新建一个文件夹 这里我取名为RoadA进入新建的文件夹,创建json文件,json文件的名字与文件夹名字相同再将从RoadRunner中导出的地图文件夹(map)放入新建的文件夹目录下重点关注.fbx和.xodr文件然后打开新建的json文件添加并修改如下代码name为RoadRunner中导出的地图文件夹名字。
TMS_WebGMaps_1.9.8.0_Full_Source
TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder
STL,ATL,WTL之间的联系和区别
一、STL即 Standard Template Library (标准模板库) STL是惠普实验室开发的一系列软件的统称。它是由Alexander Stepanov、Meng Lee和David R Musser在惠普实验室工作时所开发出来的。现在虽说它主要出现在C++中,但在被引入C++之前该技术就已经存在了很长的一段时间。STL的代码从广义上讲分为三类:algorithm(
文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况
主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。
STL,ATL,WTL的联系与区别
一、STL即 Standard Template Library (标准模板库) STL是惠普实验室开发的一系列软件的统称。它是由Alexander Stepanov、Meng Lee和David R Musser在惠普实验室工作时所开发出来的。现在虽说它主要出现在C++中,但在被引入C++之前,该技术就已经存在了很长的一段时间。STL的代码从广义上讲分为三类:algorithm
NTscan扫描工具
ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。
《深入解析ATL》书籍信息
书名:《深入解析ATL》原书名: 《ATL Internals》原出版社: Addison Wesley Longman n原著: (美)BRENT RECTOR & CHRIS SELLS译者: 潘爱民 & 新语 出版社: 中国电力出版社ATL之父,微软公司的 Jim Springfield 大叔对其评价是“我常常在想,自己应该写一本关于ATL如何工作的书
ATL Internals 笔记
书要慢慢读, 饭要慢慢吃.急什么? 越急越慢, 再急熄火...
491



被折叠的 条评论
为什么被折叠?



