一些C++著名类库
1、C++标准库 2、准标准Boost 库 3、GUI库 4、网络通信库 5、XML库 6、科学计算库 7、游戏开发库
8、线程库 9、序列化库 10、字符串库 11、综合库 12、其他库库。
1、C++标准库
标准库提供了C++程序基本设施。
1.1、Dinkumware C++ Library
1.2、SGI STL
1.3、STLport
2、准标准库Boost
Boost中比较有名的库:
2.1 Regex 正则表达式库
2.2 Spirit LL parser framework,用C++代码直接表达EBNF
2.3 Graph 图组件及算法
2.4 Lambda 在调用的地方定义短小匿名的函数对象,很实用的functional功能(后来C++11有了此特性)
2.5 concept check 检查泛型编程中的concept
2.6 Mpl 模板实现的元编程框架
2.7 Thread 可移植C++多线程库
2.8 Python 把C++类和函数映射到Python中
2.9 Pool 内存池管理
2.10 smart_ptr 5个智能指针。
3、C++各大有名库的介绍——GUI
3.1、MFC
3.2、QT
Qt是Trolltech公司的一个多平台的C++图形用户界面应用程序框架。Qt是完全面向对象的很容易扩展,允许组件编程,Qt也是流行Linux桌面环境KDE 的基础,同时还支持Windows、Macintosh、Unix/X11等多种平台。
3.5、WTL
基于ATL的一个库。主要面向的是开发COM轻量级供网络下载的可视化控件的开发者。
3.6、GTK
GTK是一个C的开源GUI库。Qt就是这个库的C++封装版本。
4、网络通信
4.1、ACE
网络通信开发框架。ACE提供一组丰富可复用C++ 包装外观(Wrapper Facade)和框架组件,可跨越多种平台完成通用的通信任务,包括:事件多路分离、事件处理器分派、信号处理、服务初始化、进程间通信、共享内存管理、消息路由、分布式服务动态(重)配置、并发执行和同步,等。
4.2、StreamModule
设计用于简化编写分布式程序的库。尝试着使编写处理异步行为的程序更容易。
4.3、SimpleSocket
这个类库让编写基于socket的客户/服务器程序更加容易。
4.4、A Stream Socket API for C++
一个对Socket的封装库。
5、XML 库
5.1、Xerces
Xerces-C++ 是一个非常健壮的XML解析器,提供验证,SAX和DOM API。在2001年12月支持W3C XMLSchema。
5.2、XMLBooster
这个库通过产生特制的parser的办法极大提高了XML解析的速度,能够产生相应的GUI程序来修改这个parser。在DOM和SAX两大主流XML解析之外提供了另一个可行的解决方案。
5.3、Pull Parser
这个库采用pull方法的parser。在每个SAX的parser底层都有一个pull的parser。
5.4、Xalan
用于把XML文档转换为HTML,纯文本或者其他XML类型文档的XSLT处理器。
5.5、CMarkup
使用EDOM的XML解析器。
5.6、libxml++
C++封装的对著名的libxml XML解析器。
5.7. TinyXML [wangxinus 一个非常小巧的XML解析库,基于DOM。]
6、科学计算
6.1、Blitz++
一个高效率的数值计算函数库,通常,用C++所写出的数值程序,比 Fortran慢20%左右,Blitz++正是要改掉这个缺点。利用C++的template技术,程序执行甚至可以比Fortran更快。
6.2、POOMA
免费的高性能的C++库,处理并行式科学计算。
6.3、MTL
Matrix Template Library(MTL)高性能的泛型组件库,提供各种格式的大量线性代数的功能。
6.4、CGAL
Computational Geometry Algorithms Library目的是把在计算几何方面的大部分重要的解决方案和方法封装成为C++库。
7、游戏开发库
7.1、Audio/Video 3D C++ Programming Library
跨平台,高性能的C++库。提供3D图形,声效支持(SB,以及S3M),(键盘,鼠标和遥感),XMS。
7.2、KlayGE
国内游戏开发高手用C++开发的游戏引擎。开放源代码、跨平台的游戏引擎,Python作脚本语言。
7.3、OGRE
OGRE(面向对象的图形渲染引擎)C++开发。
7.4、openGL库
7.5、DirectX库
8、线程库
8.1、C++ Threads
提供在Linux环境中很难看到的大量的线程方面的功能。
8.2、ZThreads
跨平台的C++线程和同步库。
9、序列化库
9.1、s11n
基于STL的C++库,序列化POD,STL容器及用户定义的类型。
9.2、Simple XML Persistence Library
一个把对象序列化为XML的轻量级的C++库。
10、字符串
10.1、C++ Str Library
操作字符串和字符的库,支持Windows和支持gcc多种平台。提供高度优化代码,支持多线程环境和Unicode,同时支持正则表达式。
10.2、Common Text Transformation Library
一个解析和修改STL字符串的库。CTTL substring类可用来比较,插入,替换及用EBNF的语法进行解析。
10.3、GRETA
处理正则表达式的库。
11、综合
11.1、P::Classes
高度可移植C++应用程序框架。关注类型和线程安全的signal/slot机制,i/o系统包括基于插件的网络协议透明i/o架构,基于插件的应用程序消息日志框架,访问sql数据库的类等等。
11.2、ACDK - Artefaktur Component Development Kit
这是一个平台无关的C++组件框架。
11.3、dlib C++ library
各种类的综合。大整数,Socket,线程,GUI,容器类,浏览目录API等。
11.4、Chilkat C++ Libraries
提供zip,e-mail,编码,S/MIME,XML等的库。
11.5、C++ Portable Types Library (PTypes)
STL比较简单的替代品,及可移植的多线程和网络库。
12、其他库
12.1、Loki
实验性质的库。作者在loki中把C++模板的功能发挥到了极致。
12.2、ATL
ATL(Active Template Library)一组小巧、高效、灵活的类,为创建可互操作的COM组件提供了基本设施。
12.3、FC++: The Functional C++ Library
提供了一些函数式语言中才有的要素。
12.4、FACT!
另一个实现函数式特性的库
12.5、Crypto++
提供处理密码,消息验证,单向hash,公匙加密等功能的免费库。