假设我有下面这行代码:
int PAGESIZE = getpagesize(); // returns 4096
int* shared_mm = mmap(NULL,PAGESIZE,PROT_READ | PROT_WRITE,MAP_SHARED | MAP_ANONYMOUS,-1,0);
这意味着我得到了4096个字节,所以我可以存储1024个整数(4096/4),对吗?
因此,如果我需要保存类型为int的N个值,我将不得不这样做:
PAGESIZE = N * 4;
并将其传递给mmap函数,知道如果不是,它会将其舍入到4096的倍数,我说的对吗?