mman.h 确实导入了 mmap 函数但未能导入 mremap
mman.h does import mmap function but fails to import mremap
所以我想使用 mremap 函数更轻松地处理内存映射文件,但出现隐式声明错误
addr = mremap(addr, len, len_file, MREMAP_MAYMOVE);
我确实包含了所需的库,如果我没有的话
addr = mmap(NULL, len_file, PROT_WRITE|PROT_READ, MAP_SHARED, fd, 0);
会引发同样的错误。
我当前的 header 具有按要求指向的库
#include <sys/mman.h>
#define _GNU_SOURCE
这里的顺序不正确:
#include <sys/mman.h>
#define _GNU_SOURCE
您必须在 之前定义 _GNU_SOURCE
,包括 headers:
#define _GNU_SOURCE
#include <sys/mman.h>
所以我想使用 mremap 函数更轻松地处理内存映射文件,但出现隐式声明错误
addr = mremap(addr, len, len_file, MREMAP_MAYMOVE);
我确实包含了所需的库,如果我没有的话
addr = mmap(NULL, len_file, PROT_WRITE|PROT_READ, MAP_SHARED, fd, 0);
会引发同样的错误。
我当前的 header 具有按要求指向的库
#include <sys/mman.h>
#define _GNU_SOURCE
这里的顺序不正确:
#include <sys/mman.h>
#define _GNU_SOURCE
您必须在 之前定义 _GNU_SOURCE
,包括 headers:
#define _GNU_SOURCE
#include <sys/mman.h>