background image

ilink32.cfg,内容:

-L"C:\STL4BC\LIB";"C:\BCC55\Lib"; 2. 进入到 C:\STL4BC\SRC

 

目录中。 3. 执行命令

copy bcb5.mak Makefile 4. 执行命令 make clean all

这个命令会执行很长时间,尤其在老旧机器上,可能运行 30 分钟以上。屏幕不断地

 

在显示 工作情况,有时你会看到好像计算机在反复地做同样几件事,请保持耐心,这实

际上是在

以不同编译开关建立不同性质的目标库。

5. 

 

 

经过一段漫长的编译之後, 终於结束了。现在你再执行命令 make install 这次需要 

的时间不长。

6. 来到 C:\STL4BC\LIB

 

目录,执行 copy *.dll c:\windows\system;

7. OK,大功告成。下面一步应该是检验一下事不是真的用上了 SGI STL。rope 是 SGI 

STL 提供的一个特有容器,专门用来对付超大规模字符串(string 是细弦,而 rope 是粗绳

子,可以想见 rope 的能力有多强)。

 

下面这个程序有点暴殓天物,不过也可以做一个小试验了: //issgistl.cpp

#include <iostream> #include <rope> using namespace std; int main() {

// crope 就是容纳 char 类型字符的 rope

 

容器 crope bigstr1("It took me about one hour ");

crope bigstr2("to plug the STLport into Borland C++!"); crope story = bigstr1 + bigstr2; cout 

<< story << endl; return 0; }

//~issgistl.cpp 

 

编译 bcc32 issgistl.cpp

linker 报告说找不到 stlport_bcc_static.lib,到 C:\STL4BC\LIB 看个究竟,确实并没有

这个文件,倒是有一个 stlport_bcb55_static.lib。笔者发现这是 STLport 的一个小问题,需要

将库文件的名字做一点改动:

copy stlport_bcb55_static.lib stlport_bcc_static.lib

这做法比较稳妥,原来的 stlport_bcb55_static.lib

 

也保留下来。以其他选项进行编译时 ,

还可能会遇到类似的问题,只要照葫芦画瓢该名字就没问题了。

现在再编译,应该没问题了。可能有一些 warning,没有关系。只要能运行,就说明

rope 容器起作用了,也就是说你的 SGI STL 开始工作了。

===============================================

二、库

在 C++中,库的地位是非常高的。C++

 

之父 Bjarne Stroustrup 先生多次表示了设计库来

扩充功能要好过设计更多的语法的言论。现实中,C++的库门类繁多,解决的问题也是极