WTL(一)

WTL(Windows Template Library) ,是微软 ATL 小组开发的一套用于在 C++ 语言基础上构建 Windows 应用程序的类库,它基于 ATL 。相对于 MFC ,它是一套轻量级的开发类库,使用它开放出来的应用程序具有体积小、不依赖外部库文件( MFC 开发的应用程序在发布的时候需要依赖 MFC 类库)、高效等特点。但是,作为一个开发类库, WTL 却并未集成到 VS 开发环境中,而仅在微软内部使用,并且不提供技术支持、不提供开发文档,但是,爱好者可以从微软的网站上下载到。最新的版本已经发展到 WTL81 ,新的版本可以开发出支持 Vista 特效的应用程序,并且可以在 VS2008 上使用向导工具新建工程项目。这些,都暗示着这套类库在微软内部有着很高的人气。但是,为什么如此优秀的一个类库却没有发布?这个应该是微软出于长远发展的考虑,并不打算把 C++ 纳入今后 Windows 开发的主要语言 ( 毕竟虚拟技术如此诱人 ) ,而且 MFC 这个重型武器仍能够担负一定的重任,没有必要再推出一个和 MFC 竞争的产品。

那么,还有什么必要学习 WTL 么?特别是已经在 MFC 上已经奋战多年的程序员,抛弃掉无所不能的 MFC 而去使用一个没有开发文档、没有技术支持的 WTL ,是不是自作自受?在这个每 GB 硬盘 1 块钱,每 M 内存 1 毛钱 , MhzCPU 0.001 毛钱的硬件系统上,有必要为那几 M 硬盘容量,空间容量斤斤计较么?

但是,如果你要开发一个嵌入到微 UINX 内核的嵌入式系统上的 ActiveX 控件、或者你要为 WinCE 开发应用程序,或者你是一个执着于软件效率、对 C++ 执迷的开发者,那么, WTL 非常适合你。

MFC 充分利用 C++ 类的继承、重载、虚函数等特性相比, WTL 利用的是 C++ 的类模板技术,它摈弃了繁杂的多重继承,极大的减少了虚函数表的个数,更高效的实现了代码的重用。另外, WTL 的所有源码都通过 CPL 授权,你可以查看并修改它的所有代码,这有助于减少你在开发过程中的 Debug 的时间,减少你对开发文档的依赖。

但是, WTL 作为一个不公开的技术框架,它也存在一些不足,例如它没有经过大规模的开放测试,提供的功能不全面(相对于 MFC ),文档支持匮乏等,这些,都使得使用 WTL 的开发效率不高,所以,在选择 WTL 开始你的项目之前,你需要慎重的权衡利弊。

在开始阅读这些文章之前,你需要确定:

1)        熟悉 C++ 技术特性,特别是虚函数、模板与泛型编程,我希望你在看到它们到时候不会感到头晕。

2)        有过 Win32 下的编程经验,熟悉 Windows 消息循环。更好的,如果你在 MFC 下作过项目,那对你理解 WTL 有很大的帮助,你会发现它们之间有很多相似的地方。

3)        如果你对研究源代码有浓厚的兴趣,并且在 Debug 过程中喜欢从源代码入手而不是借助于搜索引擎( WTL 能搜出来的东西确实不够丰富),那么使用 WTL 开发不会使你丧心病狂。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值