F_SETPIPE_SZ未声明

Mar*_*rko 4 c linux fcntl

我已经包含以下标题:

#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>
Run Code Online (Sandbox Code Playgroud)

我也试过用

#define _GNU_SOURCE
Run Code Online (Sandbox Code Playgroud)

之前#include <unistd.h>,但它也没有帮助.

我尝试使用fcntl并将其F_SETPIPE_SZ作为第二个参数传递,但我不断收到此错误消息:

错误:'F_SETPIPE_SZ'未声明(首次使用此功能)

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

谢谢.

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

 #define _GNU_SOURCE
Run Code Online (Sandbox Code Playgroud)

在任何包括之前.

Mar*_*rko 9

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

#define _GNU_SOURCE
Run Code Online (Sandbox Code Playgroud)

在任何包括之前.

您还应该注意Chrono Kitsune的其他评论.