unix网络编程书代码因旧操作系统有bug,如何解决这个问题或在哪里获取新代码?

前端之家收集整理的这篇文章主要介绍了unix网络编程书代码因旧操作系统有bug,如何解决这个问题或在哪里获取新代码?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我试图在Linux上下载并运行c代码

UNIX网络编程,第1卷,第2版:网络API:套接字和XTI,Prentice Hall,1998,ISBN 0-13-490012-X.这是由W.史蒂文斯理查德

 http://kohala.com/start/unpv12e/unpv12e.tar.gz

但是,当我构建代码时,我得到了错误

  gcc -g -O2 -D_REENTRANT -Wall   -c -o connect_nonb.o connect_nonb.c
  In file included from connect_nonb.c:1:
   unp.h:114: error: redefinition of âstruct in_pktinfoâ
   make: *** [connect_nonb.o] Error 1

我注释掉了struct in_pktinfo.然后我遇到了新的错误

   gcc -g -O2 -D_REENTRANT -Wall   -c -o in_cksum.o in_cksum.c
   gcc -g -O2 -D_REENTRANT -Wall   -c -o inet_ntop.o inet_ntop.c
   inet_ntop.c: In function âinet_ntopâ:
   inet_ntop.c:61: error: argument âsizeâ doesnât match prototype
   /usr/include/arpa/inet.h:67: error: prototype declaration
   make: *** [inet_ntop.o] Error 1

我不想一个接一个地调试整个575文件.

没有这些错误,我在哪里可以获得新代码?新版本书有无错误代码

代码仅适用于旧操作系统.

谢谢

最佳答案
好吧,Author Richard Stevens在1999年去世,书仍然是一个非常好的参考.关于很多超过10年的技术参考,你不能这么说.

我刚刚从http://www.unpbook.com/unpv13e.tar.gz获取代码并跟随自述文件,这基本上意味着运行./configure并在目录中调用make

/lib
/libfree
/intro

我修复了一个地方(libfree / inet_ntop.c:60并将大小更改为socklen)并在我当前的Ubuntu上编译.我没有运行它,但我相信至少大部分都可以运行.

理查德史蒂文斯的书仍然很出色,值得为保持他的资源运行所需的微小努力.

猜你在找的Linux相关文章