Weiss的数据结构与算法分析(C++版)源码编译说明

最近尝试编译Weiss的那本数据结构与算法分析(C++版)提供的源代码时,遇到一些问题,特记录如下:

考虑到该书提供的代码是使用模板技术较多,这在提供简洁代码的同时,也给源码的编译带来了一些问题。因而我们在编译这些代码时,一定要按照原书的说明来做些转换。
拿邮电英文版(简称dsaa3e)本上的第31页上的Figure 1.20 MemoryCell相关的代码为例来说明一下。

我们先到作者的网站
http://users.cis.fiu.edu/~weiss/dsaa_c++3/code/
下面下载 Unix tar | gzip版本。
cd ~/下载/
wget http://users.cis.fiu.edu/~weiss/dsaa_c++3/code/CodeUnix.tar.gz
tar zxvf CodeUnix.tar.gz -C/home/taoyx/c++/dsaa3e/
cd /home/taoyx/c++/dsaa3e/
在该目录下面找到我们将要测试的这几个文件
MemoryCell.cp MemoryCell.h TestMemoryCell.cpp

阅读相关代码后,考虑到模板MemoryCell的声明和实现是分离的,在引用时,我们按照dsaa3e上的附录说明(P.567),需要添加如下的MemoryCellExpand.cpp

然后使用如下的命令来进行编译:
g++ -g MemoryCellExpand.cpp TestMemoryCell.cpp -o TestMemoryCell
这样就生成可执行文件TestMemoryCell,下面我们在当前目录运行下,
./TestMemoryCell

这里需要强调的一点是,模板文件仅是定义的模板,而非模板的实例,所以,我们对要用到的模块要进行显示声明,再使用,否则编译就会出错。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值