赞
踩
目录
STL诞生于1979年左右,经过几十年的发展,出现了很多版本。
HP版本是所有STL的起源,每个HP的STL头文件都有一份声明,允许任何人免费试用、拷贝、修改、传播、贩卖软件及其说明文件,唯一要遵守的是需要在所有文件中加上HP的版本声明和运用权限说明,这种授权不属于GNU GPL范畴,但属于open source范畴。
此版本由P.J.Plauger发展,它继承了HP版本,所以他每个头文件都有HP的版本声明,此外还加上了P.J.Plauger的个人版权说明。P.J.Plauger版本被Visual C++所采用,但其代码可读性较差。
Rouge Wave版本由Rouge Wave公司开发,它继承了HP版本,所以它每个头文件都有HP的版本声明,此外还加上了Rouge Wave公司的版权说明。此版本被C++ Builder所采用,此版本不是开源的,不能公开、修改或贩卖它。
网上有个STLport站点,提供一个以SGI STL为蓝本的移植版本。
STLport download | SourceForge.nethttps://sourceforge.net/projects/stlport/
SGI 版本由Silicon Graphics Computer Systems, Inc公司开发,它继承了HP版本,它每个头文件都有HP的版本声明,此外还加上了SGI公司的版权说明。它的授权不属于GNU GPL范畴,但属于open source范畴。此版本被GCC编译器所采用。
推荐SGI STL版本,网上找到的版本都比较老旧了,但此版本的可读性较高,在符号命名和编程风格上做的更好,适合学习。
目前网上很难找到SGI STL的安装包了,要么要积分,要么要钱,文末会给出安装包下载地址。这里先介绍一下安装方法。安装包是一个exe,名为cygwin-b20.1-full2.exe,双击即可启动安装。
安装完成后,打开安装目录,看到的内容如下:
开始菜单中,也可以看到Cygwin的图标:
我的安装目录是: C:\cygnus\cygwin-b20,此目录下有个g++目录。
切换到C:\cygnus\cygwin-b20\include\g++下,就能看到STL的源码了。
随便找个位置,新建一个cpp,如:
里面的代码简单写两句:
- #include <stdio.h>
-
- int main()
- {
- printf("hello world!\n");
- return 0;
- }
然后启动Cygwin B20,通过点击开始菜单的图标启动,或者双击安装目录下的批处理来启动,我的批处理路径为:C:\cygnus\cygwin-b20\cygnus.bat
启动后显示的是一个dos界面,此程序模拟了Linux的运行环境,就像Linux终端一样,可以通过g++命令来编译cpp,下面是编译main.cpp的例子:
刚学C++的不建议直接看STL的源码,学起来会很吃力,效果不好,容易受打击,哈哈。
学习时要循序渐进,由浅入深,先易后难,切莫图快,一目十行,对于里面的代码,要仔细推敲。学完一个知识点,最好不看资料,自己敲一遍代码,以检验自己是否真的掌握了。
链接:https://pan.baidu.com/s/1ImaCd4uH6JRcLVP61qG5Gg https://pan.baidu.com/s/1ImaCd4uH6JRcLVP61qG5Gg
提取码:zimc
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。