常用C++第三方库
### 常用C++第三方库详解 #### 一、基础类库 ##### Dinkumware C++ Library - **简介**:Dinkumware C++ Library 是由 P.J. Plauger 博士编写的高质量标准库。Plauger 博士因其卓越贡献而荣获 Dr. Dobb's 杰出程序设计奖。 - **特性**: - 长期以来被 Microsoft 在其产品中采用。 - Borland 最近也获得了该库的 OEM 授权,用于其 C/C++ 产品的内部实现。 - **参考**:[http://www.dinkumware.com](http://www.dinkumware.com) ##### RogueWave Standard C++ Library - **简介**:曾被 Borland C++Builder 的早期版本采用,但随后被其他库取代。此库在当前环境下并不推荐使用。 - **参考**:[http://www.roguewave.com](http://www.roguewave.com) ##### SGISTL - **简介**:SGI 公司提供的 C++ 标准模板库。 - **特性**:广泛应用于多种平台与系统环境中。 - **参考**:[http://www.roguewave.com](http://www.roguewave.com) ##### STLport - **简介**:SGI STL 的跨平台可移植版本。 - **特性**:解决了 SGI STL 在不同平台之间的兼容性问题。 - **参考**:[http://www.stlport.org](http://www.stlport.org) ##### Boost 库 - **简介**:Boost 库是由 C++ 标准委员会库工作组成员发起的开源项目,旨在为 C++ 开发者提供一系列高质量、可移植的库。 - **特性**: - 提供了最新的技术与功能。 - 对跨平台与标准 C++ 的高度支持使其成为现代 C++ 开发不可或缺的一部分。 - 拥有近 2000 名活跃成员。 - **知名子库**: - **Regex**:正则表达式库。 - **Spirit**:LL 解析框架,支持 EBNF 表达。 - **Graph**:图组件与算法库。 - **Lambda**:提供功能性编程中的匿名函数对象。 - **Concept Check**:用于验证泛型编程中的概念。 - **MPL**:元编程框架。 - **Thread**:跨平台多线程库。 - **Python**:支持 C++ 类与函数映射至 Python。 - **Pool**:内存池管理。 - **Smart_ptr**:五种智能指针实现。 - **参考**:[http://www.boost.org](http://www.boost.org),国内镜像 [http://www.c-view.org/tech/lib/boost/index.htm](http://www.c-view.org/tech/lib/boost/index.htm) #### 二、GUI 图形用户界面库 ##### MFC (Microsoft Foundation Classes) - **简介**:微软提供的基础类库,广泛应用于 Windows 平台开发。 - **特性**: - 构建于 Windows API 之上,简化了 Windows 程序的编写工作。 - 支持 Windows 不同版本间的代码移植。 - 提供了面向对象编程的优势,如继承和封装。 - 虽然技术上可能不是最先进的,但在 Windows 平台上仍然非常流行。 ##### Qt - **简介**:Trolltech 公司开发的多平台 C++ 图形用户界面框架。 - **特性**: - 完全面向对象,易于扩展。 - 提供创建艺术级 GUI 所需的所有功能。 - 成为了许多成功应用程序的基础。 - 作为 Linux 桌面环境 KDE 的核心库,同时支持 Windows、Macintosh 和 Unix/X11 等多种平台。 - **参考**:[http://www.trolltech.com](http://www.trolltech.com) ##### WxWindows - **简介**:一款跨平台的 GUI 库。 - **特性**: - 类似 MFC 的类层次结构,便于从 MFC 迁移。 - 支持 Windows、Unix/X11 和 Mac OS X 等多个平台。 - 提供丰富的 GUI 控件集合。 - **参考**:[http://www.wxwindows.org](http://www.wxwindows.org) 这些库在 C++ 开发领域扮演着极其重要的角色,不仅极大地提高了开发效率,也为开发高质量的应用程序提供了坚实的基础。对于开发者而言,根据项目的具体需求选择合适的库至关重要。