自1993年Microsoft公司推出Visual C++1.0后,随着其新版本的不断问世,Visual C++已成为专业程序员进行软件开发的首选工具。如图2-5所示的横坐标列出了从Visual C++ 1.0到Visual C++ 2008的历史版本。
与Visual C++一直伴随左右的两个术语是MFC与ATL,MFC是Microsoft Foundation Class,翻译过来就是“微软基础类”,什么意思呢?Windows作为一个提供功能强大的应用程序接口编程的操作系统,其API函数实在太多了,而且名称很乱,从零构架一个窗口动辄就是上百行的代码,传统的win32开发(直接使用Windows的接口函数API)对于程序员来说非常困难。MFC以救世主的身份出现,它将传统的API进行了分类封装,并且为程序员提供了程序的一般框架。
那为什么还有ATL呢?ATL是Active Template Library,翻译过来就是“活动模板库”,它是一套C++模板库。MFC也有模板库,但是ATL的优势在于其短小精悍,对其他库的依赖性不强,同时对COM组件的开发提供最大限度的代码自动生成及可视化支持。因此,从Microsoft Visual C++ 5.0开始,Microsoft就把ATL集成到Visual C++开发环境中。
Visual C++及其随从MFC、ATL的版本历史如图2-5所示,比较值得注意的是以下3点。
在Visual C++ 1.0之前,微软的C++编译器被称做Microsoft C/C++。
在Visual C++ 6.0之前,ATL没有在Visual C++中出现,当时它的版本包含1.0、1.1、2.0。
Visual C++ 2002之后,ATL和MFC的版本号基本统一了,如:在Visual C++ 2005中,MFC的版本为8,ATL的版本也是8。

 
 
提示
在笔者的机器上,安装有Visual C++ 6.0、2005、2008共3个版本,它们一直相安无事很多年。编写本书的示例项目时,笔者采用Visual C++ 2005而非Visual C++ 2008作为IDE。其原因在于,Visual C++ 2008的使用尚未普及,而采用Visual C++ 2005生成的程序代码也可以在Visual C++ 2008中自动升级转换(反过来则不行)。
 ===============================
以上摘自《把脉VC++》第2.1.3小节的内容 ,转载请注明出处。