免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1636 | 回复: 2
打印 上一主题 下一主题

问个问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-05-12 21:20 |只看该作者 |倒序浏览
static __inline__ void __FD_ZERO(__kernel_fd_set *p)
  88{
  89        unsigned long *tmp = p->fds_bits;
  90        int i;
  91
  92        if (__builtin_constant_p(__FDSET_LONGS)) {
  93                switch (__FDSET_LONGS) {//__FDSET_LONGS的取值由系统决定
  94                      case 16:
  95                        tmp[ 0] = 0; tmp[ 1] = 0; tmp[ 2] = 0; tmp[ 3] = 0;
  96                        tmp[ 4] = 0; tmp[ 5] = 0; tmp[ 6] = 0; tmp[ 7] = 0;
  97                        tmp[ 8] = 0; tmp[ 9] = 0; tmp[10] = 0; tmp[11] = 0;
  98                        tmp[12] = 0; tmp[13] = 0; tmp[14] = 0; tmp[15] = 0;
  99                        return;
100
101                      case 8:
102                        tmp[ 0] = 0; tmp[ 1] = 0; tmp[ 2] = 0; tmp[ 3] = 0;
103                        tmp[ 4] = 0; tmp[ 5] = 0; tmp[ 6] = 0; tmp[ 7] = 0;
104                        return;
105
106                      case 4:
107                        tmp[ 0] = 0; tmp[ 1] = 0; tmp[ 2] = 0; tmp[ 3] = 0;
108                        return;
109                }
110        }
111        i = __FDSET_LONGS;
112        while (i) {
113                i--;
114                *tmp = 0;
115                tmp++;
116        }//此循环是为了使得上面的判断操作变得更安全。
117}

__builtin_constant_p
这个是做什么用的,不理解,
__FDSET_LONGS什么意思,也不懂

论坛徽章:
0
2 [报告]
发表于 2011-05-19 11:35 |只看该作者
内建函数 __builtin_constant_p ,这个函数用于判断一个值是否为编译时常数,假如参数__FDSET_LONGS的
值是常数,函数返回 1,否则返回 0。

论坛徽章:
0
3 [报告]
发表于 2011-05-27 14:55 |只看该作者
input_handler,input_dev,input_handle这三个都是设备,都有子设备号吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP