unp代码在ubuntu10.04中需要作的更改

17 篇文章 1 订阅

参考文章:http://blog.chinaunix.net/uid-23242876-id-2480261.html

1.在tcpclisrv/下make 出错tcpservpoll01.c:13: error: ‘OPEN_MAX’ undeclared (first use in this function)


解释:
运行 grep -r "OPEN_MAX" ./
可见  ./tcpcliserv/tcpservpoll01.c: include    <limits.h>          /* for OPEN_MAX */ 输出.
但是,OPEN_MAX 在 /usr/inlude/limits.h 已经不存在了,根据参考帖里的信息,我也强烈的怀疑现在 /usr/include/linux/fd.h 和 /usr/include/linux/limit.h 里的 NR_OPEN 就是作者所说的 OPEN_MAX。

Solution 1: OPEN_MAX --> NR_OPEN, 连 #include <limits.h> 这句都不用更改
Solution 2: 在 unp.h 里面手动添加 #define OPEN_MAX 1024, 这个 1024 从上面所说 NR_OPEN 的值得到,
至于 #include <limits.h> 句嫌麻烦的可不删.


我采用的是solution2



2.在tcpclisrv/下make 出错

tcpservpoll01.c:28: error: ‘POLLRDNORM’ undeclared

解决方法:

在unp.h中添加如下定义:

<span style="font-size:18px;">#ifndef __x86_64_POLL_H
#define __x86_64_POLL_H


/* The rest seem to be more-or-less nonstandard. Check them! */
#define POLLRDNORM 0x0040
#define POLLRDBAND 0x0080
#define POLLWRNORM 0x0100
#define POLLWRBAND 0x0200
#define POLLMSG 0x0400
#define POLLREMOVE 0x1000
#define POLLRDHUP 0x2000

#endif</span>


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值