我想下載並在Linux上運行c代碼unix網絡編程書籍代碼由於舊的操作系統而存在缺陷,如何解決這個問題或從哪裏獲得新代碼?
UNIX網絡編程,第1卷,第二版:網絡API:Sockets和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
我註釋掉結構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個文件。
哪裏可以得到沒有這些錯誤的新代碼?新版本的書有無錯代碼?
舊代碼僅適用於舊操作系統。
感謝
我建議你下載代碼並在投票前在linux上進行編譯。 – user1002288
也許[第三版](http://www.unpbook.com/)的[源代碼](http://www.unpbook.com/src.html)會更好。 –
@Jerry Coffin:你碰巧知道第三版代碼是否適用於最近的ubuntu發行版 - 在可能只添加了正確的include目錄位置之後?上述可能發生的結構史蒂文斯定義或使用已被取代。嚴重的問題:目前正在閱讀他的TCO/IP經典,發現它很輝煌(畢竟這些年來),並考慮在最新版本中購買上述版本 - 這仍然很古老。 – gnometorule