当前位置:   article > 正文

C++之STL心法#1-STL版本介绍及源码下载编译_stl源码下载

stl源码下载

目录

1. STL各版本介绍

HP版本

P.J.Plauger版本

Rouge Wave版本

STLport版本

SGI STL版本

2. 学习的版本选择

3. SGI STL安装

4. 目录结构

5. 编译运行

6. 学习建议

7. 源码下载链接


1. STL各版本介绍

STL诞生于1979年左右,经过几十年的发展,出现了很多版本。

HP版本

HP版本是所有STL的起源,每个HP的STL头文件都有一份声明,允许任何人免费试用、拷贝、修改、传播、贩卖软件及其说明文件,唯一要遵守的是需要在所有文件中加上HP的版本声明和运用权限说明,这种授权不属于GNU GPL范畴,但属于open source范畴。

P.J.Plauger版本

此版本由P.J.Plauger发展,它继承了HP版本,所以他每个头文件都有HP的版本声明,此外还加上了P.J.Plauger的个人版权说明。P.J.Plauger版本被Visual C++所采用,但其代码可读性较差。

Rouge Wave版本

Rouge Wave版本由Rouge Wave公司开发,它继承了HP版本,所以它每个头文件都有HP的版本声明,此外还加上了Rouge Wave公司的版权说明。此版本被C++ Builder所采用,此版本不是开源的,不能公开、修改或贩卖它。

STLport版本

网上有个STLport站点,提供一个以SGI STL为蓝本的移植版本。

STLport download | SourceForge.nethttps://sourceforge.net/projects/stlport/

SGI STL版本

SGI 版本由Silicon Graphics Computer Systems, Inc公司开发,它继承了HP版本,它每个头文件都有HP的版本声明,此外还加上了SGI公司的版权说明。它的授权不属于GNU GPL范畴,但属于open source范畴。此版本被GCC编译器所采用。


2. 学习的版本选择

推荐SGI STL版本,网上找到的版本都比较老旧了,但此版本的可读性较高,在符号命名和编程风格上做的更好,适合学习。


3. SGI STL安装

目前网上很难找到SGI STL的安装包了,要么要积分,要么要钱,文末会给出安装包下载地址。这里先介绍一下安装方法。安装包是一个exe,名为cygwin-b20.1-full2.exe,双击即可启动安装。

 安装完成后,打开安装目录,看到的内容如下:

开始菜单中,也可以看到Cygwin的图标:

4. 目录结构

我的安装目录是: C:\cygnus\cygwin-b20,此目录下有个g++目录。

切换到C:\cygnus\cygwin-b20\include\g++下,就能看到STL的源码了。

5. 编译运行

随便找个位置,新建一个cpp,如:

里面的代码简单写两句:

  1. #include <stdio.h>
  2. int main()
  3. {
  4. printf("hello world!\n");
  5. return 0;
  6. }

然后启动Cygwin B20,通过点击开始菜单的图标启动,或者双击安装目录下的批处理来启动,我的批处理路径为:C:\cygnus\cygwin-b20\cygnus.bat

启动后显示的是一个dos界面,此程序模拟了Linux的运行环境,就像Linux终端一样,可以通过g++命令来编译cpp,下面是编译main.cpp的例子:

6. 学习建议

刚学C++的不建议直接看STL的源码,学起来会很吃力,效果不好,容易受打击,哈哈。
学习时要循序渐进,由浅入深,先易后难,切莫图快,一目十行,对于里面的代码,要仔细推敲。学完一个知识点,最好不看资料,自己敲一遍代码,以检验自己是否真的掌握了。

7. 源码下载链接

链接:https://pan.baidu.com/s/1ImaCd4uH6JRcLVP61qG5Gg https://pan.baidu.com/s/1ImaCd4uH6JRcLVP61qG5Gg
提取码:zimc 
 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/589616
推荐阅读
相关标签
  

闽ICP备14008679号