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++的库门类繁多,解决的问题也是极