所以我想使用mremap函数更容易处理内存映射文件,但会引发隐式声明错误
addr = mremap(addr, len, len_file, MREMAP_MAYMOVE);
如果我没有行
,我会包含所需的库addr = mmap(NULL, len_file, PROT_WRITE|PROT_READ, MAP_SHARED, fd, 0);
会引发同样的错误。
我当前的标题包含根据需要指向的库
#include <sys/mman.h>
#define _GNU_SOURCE
答案 0 :(得分:2)
此处订单不正确:
#include <sys/mman.h>
#define _GNU_SOURCE
您必须在之前定义_GNU_SOURCE
,包括标题:
#define _GNU_SOURCE
#include <sys/mman.h>