作者: winter最近在网站访问日志中,看见有许多朋友在搜索“C++ STL下载”、“C++ STL 中文版下载”,因此这里写篇小文提醒那些刚接触STL的朋友。 STL是标准模板库的简称,从94年7月开始纳入C++标准后得到迅速发展,形成了不同的版本(关于版本介绍参看STL的不同实现版本)。目前使用最广的是SGI STL和STLport。SGI STL本质上是为了配合SGI自作的UNIX变体IRIX所量身定做,好在STL都是一些标准接口和实现的头文件,随着大师们的不断改进,移植起来不太复杂。 SGI STL的下载地址,目前最新版本是3.3(目前是指2005年1月19日)。在VC6下安装采用下面方式(来源于淡蓝随笔blog): 将stl.zip解压到一个目录,比如C:/SGISTL,然后在VC6的IDE环境下,ools->options->Directories->Include files,将C:/SGISTL(你解压的目录)添加进去,然后,将这个路径移到最顶端,就了。还要注意的是,用使用SGI-STL,文件中不能包含<iostream>,要用<iostream.h>代替。如果你想用VC6的STL,只需要将C:/SGIST移到底端就可以了。 在unix/linux上如何安装就不用讲了吧。 STLport的下载地址,目前最新版本是4.6.2(目前是指2005年1月19日)。 STLport 移植起来稍微负责一些,详细参见孟岩先生的文章在 Borland C++ 及 Visual C++ 环境中使用 STLport,介绍得非常详细。 对于VC7,前两天有个台湾得同事在移植SGI STL的时候遇到问题,不过专家们的建议是,如果你使用的VC7,那么最好使用VC7自带由Dinkumware公司提供的STL(作者仍旧是P.J. Plauger),比VC6中自带的版本有了很好的改进。而且经过了大量的测试,在多线程安全方面也有保证。Winter没有VC7的环境,也只能相信专家了:)。 关于更多的学习文章,可以看看STL技术文章不完全列表 |
这里我要补充的是安装好后要设置:
1、在VC6设置STLport-4.6.2的头文件和库的搜索路径:
在VC6的菜单 tools->options->directories->include files 中增加 D:/STLPORT-4.6.2/STLPORT
在VC6的菜单 tools->options->directories->library fies 中增加 D:/STLPORT-4.6.2/LIB
其中D:/STLPORT-4.6.2是你的STLPORT的真正目录,这两条都要放在最前面,VC6自身也有STL库的,所以必须放到最前面把VC6的库给涵盖了。
2、对于具体的工程,要把运行库设置成要设置成多线程:
在菜单中设置 project->setting->c/c++->Code Generation->Use run-time library ->debug MultiThread Library
3、对于安装了微软的MS SDK的,要在工程中预定义宏_STLP_NEW_PLATFORM_SDK:
在菜单中设置 project->setting->c/c++->General->Preprocessor definitions里加上宏定义_STLP_NEW_PLATFORM_SDK。对于VC7则不需要设置这一项。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zx_pisan/archive/2011/04/12/6318788.aspx