Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1725745
  • 博文数量: 98
  • 博客积分: 667
  • 博客等级: 上士
  • 技术积分: 1631
  • 用 户 组: 普通用户
  • 注册时间: 2009-04-27 15:59
个人简介

一沙一世界 一树一菩提

文章分类

全部博文(98)

文章存档

2021年(8)

2020年(16)

2019年(8)

2017年(1)

2016年(11)

2015年(17)

2014年(9)

2013年(4)

2012年(19)

2011年(1)

2009年(4)

分类: LINUX

2014-09-11 16:22:05

最近写网络服务器代码,遇见个问题:
在splice的使用过程当中,调用solice如下:
ret = splice(sockfd, NULL, pipe[1], NULL, 4096, SPLICE_F_MORE | SPLICE_F_MOVE);

查看头文件fcnlt.h,如下:

函数头文件也包含了fcntl.h,_GNU_SOURCE也试过了,依旧不行。
uname查看如下:

改成下面形式就可以:
ret = splice(sockfd, NULL, pipe[1], NULL, 4096, /*SPLICE_F_MORE | SPLICE_F_MOVE*/ 5);
也能正常工作,功能也能正常实现,貌似就是这几个宏的识别问题或者拼写错误。无语了。
直到现在也没有找到原因,暂时先用下面的调用形式使用了。
大家谁有和方面经验,分享一下
阅读(4365) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~