(内容均来至维基百科,仅做梳理以帮助自身理解)
MFC:
微软基础类库(英语:Microsoft Foundation Classes,简称MFC)是一个微软公司提供的类库(class libraries),以C++类的形式封装了Windows API,并且包含一个(也是微软产品的唯一一个)应用程序框架,以减少应用程序开发人员的工作量。其中包含的类包含大量Windows句柄封装类和很多Windows的内建控件和组件的封装类。
STL:
标准模板库(英文:Standard Template Library,缩写:STL),是一个C++软件库,大量影响了C++标准程序库但并非是其的一部分。其中包含4个组件,分别为算法、容器、函数、迭代器。
作用:
模板是C++程序设计语言中的一个重要特征,而标准模板库正是基于此特征。标准模板库使得C++编程语言在有了同Java一样强大的类库的同时,保有了更大的可扩展性。
ATL:
活动模板库(Active Template Library(ATL))是一个以C++模板技术的类的集合,是Microsoft为了简化组件对象模型(COM)的程序设计而发布的。 COM旨在允许开发者利用Visual C++创造各种各样的组件,包括OLE Automation服务器,与ActiveX控件。Patterned after theStandard Template Library(STL), ATL 包含一个对象向导(object wizard),当设置好主要的对象结构后,能够产生快速与较小的程序。
作用:
通过MFC可以提供互联网市场所需的控件,但是市场上还需要可以从网络上下载的轻量级控件。MFC程序通常较大而且需要支持DLL。ATL允许创建不需要支持DLL的更小的控件,所以ATL是一种在COM控件环境下MFC的轻量级替代物。