首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >F_SETPIPE_SZ未声明

F_SETPIPE_SZ未声明
EN

Stack Overflow用户
提问于 2014-08-20 18:25:12
回答 2查看 8.1K关注 0票数 6

我包括了以下标题:

代码语言:javascript
复制
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>

#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <fcntl.h>

我也试过用

代码语言:javascript
复制
#define _GNU_SOURCE

#include <unistd.h>之前,但也帮不上忙。

我尝试使用fcntl并将其作为第二个参数传递给F_SETPIPE_SZ,但我一直收到以下错误消息:

错误:“F_SETPIPE_SZ”未声明(在此函数中首次使用)

实际上我发现我不需要这个,但我只是好奇为什么我不能使用它。

谢谢。

所以,这是解决方案,感谢Chrono Kitsune

代码语言:javascript
复制
 #define _GNU_SOURCE

在任何情况下。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-08-23 15:01:39

这是solution,多亏了Chrono Kitsune

代码语言:javascript
复制
#define _GNU_SOURCE

在任何情况下。

你还应该注意基苏恩的另一个comment

票数 12
EN

Stack Overflow用户

发布于 2016-03-04 09:31:30

F_SETPIPE_SZ/F_GETPIPE_SZ是相对较新的。较老的内核(如RHEL6中使用的2.6.32 )没有它们。如果您查看/usr/include/linux/fcntl.h并且没有定义这些常量,那么这个API将无法工作,您将不得不在构建的任何内容中找到绕过它的方法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25411892

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档