当前位置:编程学习 > C/C++ >>

paip.c++ 常用类库attilax总结

paip.c++ 常用类库attilax总结
 
VCL: WINDOWS平台最好的类库了..推荐使用..开发效率最高. 1
QT..推荐使用..开发效率比较高. 1
GTK(GTKMM)...开发效率没有QT高。 1
STL库:C++ 标准模板库STL 1
Boost,Boost库 2
WxWidgetS/WxWindows 。不推荐 2
MFC:  已经落后n多,不推荐使用. 2
WTL:  功能较少,有限的..不推荐使用...除非开发COM控件 2
ATL:不推荐使用,除非编写COM组件 3
五、网络通信库ACE/StreamModule/SimpleSocket 3
密码/hash库  Crypto++ 4
反射机制网络,实用工具,XML,对Java集成等等ACDK - Artefaktur Component Development Kit 4
六、XML处理库Xerces/Xalan/libxml++ 4
////////////////Boost扩展介绍 5
//////////////stl 扩展介绍 5
参考: 7
 
作者Attilax ,  EMAIL:1466519819@qq.com 
来源:attilax的专栏
地址:http://blog.csdn.net/attilax
VCL: WINDOWS平台最好的类库了..推荐使用..开发效率最高.
 
QT..推荐使用..开发效率比较高.
GTK(GTKMM)...开发效率没有QT高。
GTK是一个大名鼎鼎的C的开源GUI库。在Linux世界中有Gnome这样的杀手应用。gtkmm 是 GTK+ 的 C++ 语言封装。
 
STL库:C++ 标准模板库STL  
STL的代码从广义上讲分为三类:algorithm(算法)、container(容器)和iterator(迭代器)
 
 
Boost,Boost库
是一个经过千锤百炼、可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的发动机之一。 Boost库为我们带来了最新、最酷、最实用的技术,是不折不扣的“准”标准库。
Boost库;
 
 
WxWidgetS/WxWindows 。不推荐
wxWidget-------------开源、跨平台的C++ GUI库,可以看做一个MFC类库的复制品(其内部机制与MFC同出一辙)跨平台的GUI库。因为其类层次极像MFC,所以有文章介绍从MFC到WxWindows的代码移植以实现跨平台的功能。通过多年的开发也是一个日趋完善的GUI库,支持同样不弱于前面两个库。并且是完全开放源代码的。新近的C++ Builder X的GUI设计器就是基于这个库的。
 WxWindows-----功能强大的跨平台GUI库  ,它的功能和结构都类似 MFC,故原则上
      可以通过WxWindows把现有MFC程序移植到非Win平台下
 
 
MFC:  已经落后n多,不推荐使用.
WTL:  功能较少,有限的..不推荐使用...除非开发COM控件
基于ATL的一个库。因为使用了大量ATL的轻量级手法,模板等技术,在代码尺寸,以及速度优化方面做得非常到位。主要面向的使用群体是开发COM轻量级供网络下载的可视化控件的开发者。
 
ATL:不推荐使用,除非编写COM组件
ATL(Active Template Library)是一组小巧、高效、灵活的类,这些类为创建可互操作的COM组件提供了基本的设施。
 
 
五、网络通信库ACE/StreamModule/SimpleSocket
 
ACE
C++库的代表,超重量级的网络通信开发框架。ACE自适配通信环境(Adaptive Communication Environment)是可以自由使用、开放源代码的面向对象框架,在其中实现了许多用于并发通信软件的核心模式。ACE提供了一组丰富的可复用C++ 包装外观(Wrapper Facade)和框架组件,可跨越多种平台完成通用的通信软件任务,其中包括:事件多路分离和事件处理器分派、信号处理、服务初始化、进程间通信、共享内存管理、消息路由、分布式服务动态(重)配置、并发执行和同步,等等。
StreamModule
设计用于简化编写分布式程序的库。尝试着使得编写处理异步行为的程序更容易,而不是用同步的外壳包起异步的本质。
SimpleSocket
这个类库让编写基于socket的客户/服务器程序更加容易。
A Stream Socket API for C++
又一个对Socket的封装库。
 
密码/hash库  Crypto++
提供处理密码,消息验证,单向hash,公匙加密系统等功能的免费库。
 
反射机制网络,实用工具,XML,对Java集成等等ACDK - Artefaktur Component Development Kit
这是一个平台无关的C++组件框架,类似于Java或者.NET中的框架(反射机制,线程,Unicode,废料收集,I/O,网络,实用工具,XML,等等),以及对Java, Perl, Python, TCL, Lisp, COM 和 CORBA的集成。
 
 
六、XML处理库Xerces/Xalan/libxml++
 
Xerces
Xerces-C++ 是一个非常健壮的XML解析器,它提供了验证,以及SAX和DOM API。XML验证在文档类型定义(Document Type Definition,DTD)方面有很好的支持,并且在2001年12月增加了支持W3C XML Schema 的基本完整的开放标准。
XMLBooster
这个库通过产生特制的parser的办法极大的提高了XML解析的速度,并且能够产生相应的GUI程序来修改这个parser。在DOM和SAX两大主XML解析办法之外提供了另外一个可行的解决方案。
Pull Parser
这个库采用pull方法的parser。在每个SAX的parser底层都有一个pull的parser,这个xpp把这层暴露出来直接给大家使用。在要充分考虑速度的时候值得尝试。
Xalan
Xalan是一个用于把XML文档转换为HTML,纯文本或者其他XML类型文档的XSLT处理器。
CMarkup
这是一种使用EDOM的XML解析器。在很多思路上面非常灵活实用。值得大家在DOM和SAX之外寻求一点灵感。
libxml++
libxml++是对着名的libxml XML解析器的C++封装版本
 
 
 
////////////////Boost扩展介绍
Boost不是C++的标准库。Boost是提供了一些标准库中所没有的库,比如网络、多线程和正则表达式,功能上更加丰富。
boost主要包含一下几个大类:字符串及文本处理、容器、迭代子(Iterator)、算法、函数对象和高阶编程、泛型编程、模板元编程、预处理元编程、并发编程、数学相关、纠错和测试、数据结构、输入/输出、跨语言支持、内存相关、语法分析、杂项。 有一些库是跨类别包含的,就是既属于这个类别又属于那个类别。
Boost中比较有名气的有这么几个库: 
2.1 Regex  正则表达式库 
2.7 Thread   可移植的C++多线程库 
2.8 Python   把C++类和函数映射到Python之中 
2.9 Pool    内存池管理 
2.10 smart_ptr   5个智能指针,学习智能指针必读,一份不错的参考是来自CUJ的文章
 
//////////////stl 扩展介绍
在C++标准中,STL被组织为下面的13个头文件:<algorithm>、<deque>、<functional>、<iterator>、<vector>、<list>、<map>、<memory>、<numeric>、<queue>、<set>、<stack>和<utility>。 
 
--------算法
算法部分主要由头文件<algorithm>,<numeric>和<functional>组成。
 
<algorithm>是所有STL头文件中最大的一个(尽管它很好理解),它是由一大堆模版函数组成的,可以认为每个函数在很大程度上都是独立的,其中常用到的功能范围涉及到比较、交换、查找、遍历操作、复制、修改、移除、反转、排序、合并等等。
 
 
 
<numeric>体积很小,只包括几个在序列上面进行简单数学运算的模板函数,包括加法和乘法在序列上的一些操作。
 
 
 
<functional>中则定义了一些模板类,用以声明函数对象。
 
 
-------容器
容器部分主要由头文件<vector>,<list>,<deque>,<set>,<map>,<stack>和<queue>组成。对于常用的一些容器和容器适配器(可以看作由其它容器实现的容器),可以通过下表总结一下它们和相应头文件的对应关系。
 
 
 
向量(vector) 连续存储的元素<vector>
 
列表(list)       由节点组成的双向链表,每个结点包含着一个元素<list>
 
双队列(deque) 连续存储的指向不同元素的指针所组成的数组<deque>
 
集合(set) 由节点组成的红黑树,每个节点都包含着一个元素,节点之间以某种作用于元素对的谓词排列,没有两个不同的元素能够拥有相同的次序 <set>
 
多重集合(multiset) 允许存在两个次序相等的元素的集合 <set>
 
栈(stack) 后进先出的值的排列 <stack>
 
队列(queue) 先进先出的执
补充:软件开发 , C++ ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,