刚刚接触本书,遇到第一个例子就有写困难,查阅了很多资料,现总结如下。
1)下载相关代码 unpv13e.tar.gz
2)进行相关编译
解压缩: tar-zxvf
cd
./configure
cd lib
make
cd../libfree
make
其余的文件夹可以不编译
3)将生成的文件 libunp.a 拷贝到系统文件 /usr/lib 中
4)为了以后编译程序方便起见,可以将头文件也加到系统文件中
修改 lib/unp.h 头文件,将unp.h中 #include "../config.h" 修改为 “config.h”
sudo cp lib/unp.h /usr/include sudo cp config.h /usr/include ___________________________________________________________________ 以上就是环境的搭建,上述步骤在自己实验时并没由遇到问题。 接下来就是例子的编译了,书中的第一个获取时间的例子在文件夹 intro 中 编译文件 daytimetcpcli.c gcc daytimetcpcli.c -o daytimetcpcli -lunp 编译成功后,运行 ./daytimetcpcli <IP地址> 这时出现了错误! 因为系统默认是不开daytime服务的!这就需要编译另一个文件 daytimetcpsrv.c 该文件的编译有两个方法,可以按照上面的 gcc 命令操作,我在台式机上使用该种方法编译时, 成功通过,但在笔记本上编译时,出现错误。 这时可以使用第二种编译方法,使用命令 make daytimetcpsrv程序 daytimetcpsrv 在运行时需要root权限: sudo ./daytimetcpsrv 然后再打开一个终端,运行程序 daytimetcpcli 即可。 ----------------------上述经验都是我在运行例子时所遇到的,参考网上资料总结而来。