入门级:Ptypes
Ptypes一个开源轻量级的c++库,包括对一些I/O操作、网络通信、多线程和异常处理的封装。虽然代码有限,包括的内容不少,麻雀虽小,五脏俱全。
提高:STL
Boost和STL ACE
Boost库是一个可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的发动机之一。
Boost库由C++标准委员会库工作组成员发起,其中有些内容有望成为下一代C++标准库内容。在C++社区中影响甚大,是不折不扣的“准”标准库。
Boost由于其对跨平台的强调,对标准C++的强调,与编写平台无关。大部分boost库功能的使用只需包括相应头文件即可,少数(如正则表达式库,文
件系统库等)需要链接库。但Boost中也有很多是实验性质的东西,在实际的开发中实用需要谨慎。boost
在一些播放软件和音效中指增强,比如Bass Boost,低音增强。
Adaptive
Communication
Environment(自适配通信环境),简称ACE。为一个以C++的Template技术所做成的开放源代码的可跨平台的网络应用程序的程序库套件。它提供了socket/threading/memory
management等多种系统调用的面对对象的wrapper,使C++通信软件开发更加简单。
个人觉得比较经典的C++ 开源项目,整理如下:
1 、log4cplus
log4cplus 是C++ 编写的开源的日志系统, 功能非常全面。C++ 版的log4j
网址:http://log4cplus.sourceforge.net/
2 、Glog
Google Glog 是一个C++ 语言的应用级日志记录框架,提供了 C++ 风格的流操作和各种助手宏。
SVN :http://google-glog.googlecode.com/svn/trunk
3 、memcached
memcached 是一套分布式的快取系统,当初是Danga Interactive 为了LiveJournal 所发展的,但目前被许多软件(如MediaWiki )所使用。这是一套开放源代码软件,以BSD license 授权释出。
memcached 缺乏认证以及安全管制,这代表应该将memcached 服务器放置在防火墙后。
SVN :http://code.sixapart.com/svn/memcached
4 、 TinyXML
TinyXML 是目前非常流行的一款基于DOM 模型的XML 解析器,简单易用且小巧 玲珑,非常适合存储简单数据,配置文件,对象序列化等数据量不是很大的操作
网址:http://www.grinninglizard.com/tinyxml/
5 、OpenSSL
OpenSSL 包含一个命令行工具用来完成OpenSSL 库中的所有功能,更好的是,它可能已经安装到你的系统中了。
OpenSSL 是一个强大的安全套接字层密码库,Apache 使用它加密HTTPS ,OpenSSH 使用它加密SSH ,但是,你不应该只将其作为一个库来使用,它还是一个多用途的、跨平台的密码工具。
网址:http://www.openssl.org/source/
6 、xerces
Xerces是由Apache组织所推动的一项XML文档解析开源项目,它目前有多种语言版本包括JAVA、C++、PERL、COM等。
网址:http://xerces.apache.org/xerces-c/download.cgi
7 、Boost
Boost 库是一个经过千锤百炼、可移植、提供源代码的C++ 库,作为标准库的后备,是C++ 标准化进程的发动机之一。 Boost 库由C++标准委员会库工作组成员发起,在C++ 社区中影响甚大,其成员已近2000 人。 Boost 库为我们带来了最新、最酷、最实用的技术,是不折不扣的“ 准” 标准库。
8、Zlib
Zlib 软件包包含 zlib 库,很多程序中的压缩或者解压缩函数都会用到这个库
里面有几个好的开源项目比如日志系统,还有XML解析的程序,应该都是不错的程序,我们应该能从中学习到些什么,然后用到项目中去,或者添加功能到里面去。如果有时间的话,真想静下心来看一看。