[转]Blitz++与MTL两大数值计算程序库(C++)的简介
摘要: Blitz++与MTL都是基于C++ template高效数值计算程序库,不过他们专注于不同的方向。
Blitz++提供了一个N维(1—10)的Array类,这个Array类以reference counting技术实现,支持任意的存储序(row-major的C-style数组,column-major的Fortran-style数组),数组的切割(slicing),子数组的提取(subarray),灵活的Array相关表达式处理。另外提供了可以产生不同分布的随机数(F,Beta,Chi-Square,正态,均匀分布等)的类也是很有特色的。
MTL专注于线性代数相关的计算任务,如各种形式矩阵的生成(对角,共轭,稀疏,对称等),相关的计算,变换,以及与一维向量的运算。
两个程序库对于从Matlab导入导出数据都有不错的支持。
本文主要介绍如何在Visual C++7.1编译器下运用这两个程序库。
阅读全文
[转]C++开源跨平台类库集
摘要: 经典的C++库
STLport-------SGI STL库的跨平台可移植版本,在以前有些编译器离符合
标准比较远的情况下 那时还是有用的,当然目前vc71已经比较接近标准了,
故目前不怎么用它了。
Boost---------准标准库, 功能强大 涉及能想的到的大部分非特别领域的算法,
有一个大的C++社区支持
WxWindows-----功能强大的跨平台GUI库 ,它的功能和结构都类似 MFC,故原则上
可以通过WxWindows把现有MFC程序移植到非Win平台下
Blitz---------高效率的数值计算函数库 ,你可以订制补充你需要的算法
Log4cpp-------日志处理 ,功能类似java中的log4j
ACE-----------自适应通讯环境, 重量级的通讯环境库。
Crypto++ -----加/解密算法库, 非常专业的C++ 密码学函式库
CppUnit --- 一个
阅读全文