C 库总结(精品)

上传人:亦明 文档编号:125325426 上传时间:2020-03-17 格式:DOC 页数:18 大小:177.78KB
返回 下载 相关 举报
C 库总结(精品)_第1页
第1页 / 共18页
C 库总结(精品)_第2页
第2页 / 共18页
C 库总结(精品)_第3页
第3页 / 共18页
C 库总结(精品)_第4页
第4页 / 共18页
C 库总结(精品)_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《C 库总结(精品)》由会员分享,可在线阅读,更多相关《C 库总结(精品)(18页珍藏版)》请在金锄头文库上搜索。

1、C 库总结(精品) C+库总结C+库总结 一、引子 一、引子STL是一个标准,各商家根据这个标准开发了各自的STL版本。 而在这形形色色的STL版本中,SGI STL无疑是最引人瞩目的一个。 这当然是因为这个STL产品系出名门,其设计和编写者名单中,Alexander Stepanov和Matt Austern赫然在内,有两位大师坐镇,其代码水平自然有了最高的保证。 SGI STL不但在效率上一直名列前茅,而且完全依照ISO C+之规范设计,使用者尽可放心。 此外,SGI STL做到了thread-safe,还体贴地为用户增设数种组件,如hash,hash_map,hash_multimap,

2、slist和rope容器等等。 因此无论在学习或实用中,SGI STL应是首选。 无奈,SGI STL本质上是为了配合SGI自作的UNIX变体IRIX所量身定做,其它平台上的C+编译器想使用SGI STL,都需要一番周折。 着名的GNU C+虽然也使用SGI STL,但在发行前已经过调试整合。 普通的用户,特别是Windows平台上的BCB/VC用户要想使自己的C+编译器与SGI STL共同工作,可不是一件容易的事情。 好在英雄总能及时出现,俄国人Boris Fomitchev注意到这个问题之後,建立了一个free的项目,称为STLport,旨在将SGI STL的基本代码移植到各种主流编译环境

3、中,使各种编译器的用户都能够享受到SGI STL带来的先进之处。 STLport发展过程中,曾受到Matt Austern的亲切指导,发展到今天,已经比较成熟。 最新的STLport4.0,可以从.stlport下载,zip文件体积约1.2M,可以支持向各种主流C+编译环境的移植。 BCB及VC当然算是主流的编译环境,自然得到STLport的关照。 但据笔者实践来看,配置过程中还有一些障碍需要跨越,本文即旨在详细指导读者在Borland C+Builder5.5及Visual C+6.0环境中配置STLport。 首先请从.stlport中下载STLport4.0的ZIP文件,文件名stlpo

4、rt-4.0.zip.然後利用WinZip等工具展开。 生成stlport-4.0目录,该目录中有且仅有一个子目录,名称亦为stlport-4.0,不妨将整目录拷贝到你以为合适的位置,然後改一个合适的名字,例如配合BCB的,可以叫STL4BC,等等。 下面分成BCB/VC两种情形来描述具体过程。 Borland C+Builder5Borland C+Builder5中所带之C+编译器是5.5版本,在当前较主流的Windows平台编译器中,对於ISO C+Standard的支持是最完善的。 用它来配合SGI STL相当方便,也是笔者推荐之选。 没有此开发工具的读者,可以到.borland.上下

5、载Borland C+5.5编译器的一个精装版,该精装版体积为8.54M,名称freemandliools1.exe,乃一自解压安装文件。 可在Windows中执行它,安装到合适的目录中。 展开後体积50M。 以下描述中,假定你使用的Windows装在C:Windows目录。 如果你有BCB5,我假设装在C:Program FilesBorlandCBuilder5;如果你没有BCB5,而是使用上述的精简版BCC,则假设安装在C:BCC55目录中,而STLport原包置于C:STL4BC。 C:STL4BC中应该有以下内容doclibsrcstlporttest文件ChangLog文件Inst

6、all文件Readme文件Todo同时确保C:Program FilesBorlandCBuilder5Bin或C:BCC55Bin在你的Path环境变量中。 笔者推荐你在安装之前读一读Install文件,其中会讲到如何避免使用SGI提供的iostream库。 如果你不愿意使用SGI iostream,STLport会在原来编译器自带的iostream库外加一个wrapper,使之能与SGI STL共同合作。 不过SGI提供的iostream库标准化程度好,跟本家的STL代码配合起来速度也快些,所以笔者实在想不出什麽理由不使用它,在这里假定大家跟笔者一样,乐于使用SGI iostream库。

7、有不同看法者尽可以按照Install文件的说法调整。 下面一步步来0.本次配置任务均在DOS命令状态下完成,请先从“开始”-“附件”菜单中选中MS-DO S方式,打开一个DOS窗口。 1.到C:Program FilesBorlandCBuilder5bin中,利用你顺手的文本器修改两个文件file1:b32.cfg,改成-IC:STL4BCstlport;C:Program FilesBorlandCBuilder5Include;C:Program FilesBorlandCBuilder5Includevcl-LC:STL4BCLIB;C:Program FilesBorlandCBui

8、lder5Lib;C:Program FilesBorlandCBuilder5Libobj;C:Program FilesBorlandCBuilder5Librelease上面为了方便阅读用符号将很长的一行折行,实际文件应该只有两行。 file2:ilink32.cfg,改成-LC:STL4BCLIB;C:Program FilesBorlandCBuilder5Lib;C:Program FilesBorlandCBuilder5Libobj;C:Program FilesBorlandCBuilder5Librelease在C:BCC55BIN目录中,不存在这两个文件,请你自己用文字器

9、手工做出这两个文件来,内容与上面有所不同,如下file1:b32.cfg,内容-IC:STL4BCstlport;C:BCC55Include;-LC:STL4BCLIB;C:BCC55Lib;file2:ilink32.cfg,内容-LC:STL4BCLIB;C:BCC55Lib;2.进入到C:STL4BCSRC目录中。 3.执行命令copy bcb5.mak Makefile4.执行命令make cleanall这个命令会执行很长时间,尤其在老旧机器上,可能运行30分钟以上。 屏幕不断地在显示工作情况,有时你会看到好像计算机在反复地做同样几件事,请保持耐心,这实际上是在以不同编译开关建立不

10、同性质的目标库。 5.经过一段漫长的编译之後,终於结束了。 现在你再执行命令make install这次需要的时间不长。 6.来到C:STL4BCLIB目录,执行copy*.dll c:windowssystem;7.OK,大功告成。 下面一步应该是检验一下事不是真的用上了SGI STL。 rope是SGI STL提供的一个特有容器,专门用来对付超大规模字符串(string是细弦,而rope是粗绳子,可以想见rope的能力有多强)。 下面这个程序有点暴殓天物,不过也可以做一个小试验了/issgistl.cpp#include#includeusing namespacestd;int main

11、()/crope就是容纳char类型字符的rope容器crope bigstr1(It tookme aboutone hour);crope bigstr2(to plugthe STLportinto Borland C+!);crope story=bigstr1+bigstr2;cout.dinkumware./P.J.Plauger编写的高品质的标准库。 P.J.Plauger博士是Dr.Dobbs程序设计杰出奖的获得者。 其编写的库长期被Microsoft采用,并且最近Borland也取得了其OEM的license,在其C/C+的产品中采用Dinkumware的库。 2、Rogue

12、Wave StandardC+Library 2、RogueWave StandardC+Library参考站点.roguewave./.roguewave./.roguewave./.roguewave./这个库在BorlandC+Builder的早期版本中曾经被采用,后来被其他的库给替换了。 笔者不推荐使用。 3、SGI STL 3、SGI STL参考站点.roguewave./.roguewave./.roguewave./.roguewave./SGI公司的C+标准模版库。 4、STLport 4、STLport参考站点.stlport/.stlport/SGI STL库的跨平台可移植版本。 2、准标准库、准标准库Boost Boost库是一个经过千锤百炼、可移植、提供源代码的C+库,作为标准库的后备,是C+标准化进程的发动机之一。 Boost库由C+标准委员会库工作组成员发起,在C+社区中影响甚大,其成员已近2000人。 Boost库为我们带来了最新、最酷、最实用的技术,是不折不扣的“准”标准库。 Boost中比较有名气的有这么几个库Regex正则表达式库SpiritLL parserfram

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 总结/报告

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号