unix网络编程 代碼編譯

查看readme文件:
Execute the following from the src/ directory:

./configure    # try to figure out all implementation differences

cd lib         # build the basic library that all programs need
make           # use "gmake" everywhere on BSD/OS systems

cd ../libfree  # continue building the basic library
make

cd ../libroute # only if your system supports 4.4BSD style routing sockets
make           # only if your system supports 4.4BSD style routing sockets

cd ../libxti   # only if your system supports XTI
make           # only if your system supports XTI

cd ../intro    # build and test a basic client program
make daytimetcpcli
./daytimetcpcli 127.0.0.1
yuanoung@ThinkPad-X260:~/Projects/unixNetwork/lib$ cd ../libfree
yuanoung@ThinkPad-X260:~/Projects/unixNetwork/libfree$ make
gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o in_cksum.o in_cksum.c
gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o inet_ntop.o inet_ntop.c
inet_ntop.c: In function ‘inet_ntop’:
inet_ntop.c:60:9: error: argument ‘size’ doesn’t match prototype
  size_t size;
         ^~~~
In file included from inet_ntop.c:27:0:
/usr/include/arpa/inet.h:64:20: error: prototype declaration
 extern const char *inet_ntop (int __af, const void *__restrict __cp,
                    ^~~~~~~~~
<builtin>: recipe for target 'inet_ntop.o' failed
make: *** [inet_ntop.o] Error 1
yuanoung@ThinkPad-X260:~/Projects/unixNetwork/libfree$ vim inet_ntop.c 
--〉将第60行的 size_t size 改成 socklen_t size;  再次make,有警告,但是可以忽略。

將文件拷貝到指定的目錄:

yuanoung@ThinkPad-X260:~/Projects/unixNetwork$ sudo cp libunp.a /usr/lib
yuanoung@ThinkPad-X260:~/Projects/unixNetwork$ sudo cp lib/unp.h /usr/include
yuanoung@ThinkPad-X260:~/Projects/unixNetwork$ sudo cp config.h /usr/include
yuanoung@ThinkPad-X260:~/Projects/unixNetwork$ vim lib/unp.h   # 将#include "../config.h" 改成 #include "config.h"

對代碼進行編譯:

yuanoung@ThinkPad-X260:~/Projects/unixNetwork/intro$ gcc daytimetcpcli.c -o cli -lunp
yuanoung@ThinkPad-X260:~/Projects/unixNetwork/intro$ gcc daytimetcpsrv.c -o srv -lunp

運行第一個例子:

yuanoung@ThinkPad-X260:~/Projects/unixNetwork/intro$ sudo ./srv


yuanoung@ThinkPad-X260:~/Projects/unixNetwork/intro$ ./cli 127.0.0.1
Fri Feb  9 20:09:46 2018
yuanoung@ThinkPad-X260:~/Projects/unixNetwork/intro$ ./cli 127.0.0.1
Fri Feb  9 20:09:47 2018

转载于:https://www.cnblogs.com/yuanoung/p/8436720.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值