试了一下,第一个参数不能为NULL(可能是-1影响?)。
void* pMem = mmap(NULL, 4096, 7, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0);
//肯定错误。
if (pMem == (void*)-1)
{
printf("%s-%d mmap() failed!\n", __func__, __LINE__);
}
else
{
printf("%s-%d mmap() OK!\n", __func__, __LINE__);
}
可能是fd对了,结果就对?没试验。