小编chi*_*uce的帖子

出现 GCC 错误:“sys/memfd.h:没有这样的文件或目录”

我正在尝试在我的 C 代码中使用memfd_create系统调用。我试图包含sys/memfd.h,因为手册页memfd_create说是适当的,但是 GCC 给了我一个错误“sys/memfd:没有这样的文件或目录”。

我尝试过谷歌搜索,但找不到有同样问题的人。我注意到某些版本的联机帮助页memfd_create说我应该包含sys/mman.h,但当我尝试它时它似乎没有帮助。它会说memfd_create是隐式声明的。

这是我的问题的最小再现。

#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/stat.h>

#include <sys/mman.h>

#include <sys/memfd.h>



int main(){

        int fd;
        fd = memfd_create("test", MFD_CLOEXEC);

        return 0;
}
Run Code Online (Sandbox Code Playgroud)

我希望上面的代码能够编译并运行而不会出现错误。

c linux ubuntu system-calls include

2
推荐指数
1
解决办法
5323
查看次数

标签 统计

c ×1

include ×1

linux ×1

system-calls ×1

ubuntu ×1