我在Win64上编译我的C代码时遇到了问题。更具体地说,编译器找不到sys/mman.h
标头,我的理解仅在Unix环境中找到。sys等同于sys/mman.h
我已经知道这是处理内存分配。
是否有一个等效的Windows我可以用来移植代码(第一次尝试)?
代码中导致问题:
/* Allocate memory required by processes */
buf = (int*) malloc (sizeof(int));
if (!buf)
{
perror("Error");
free (buf);
return -3;
}
/* Lock down pages mapped to processes */
puts("Locking down processes.");
if(mlockall (MCL_CURRENT | MCL_FUTURE) < 0)
{
perror("mlockall");
free (buf);
return -4;
}
不是直接的,WINAPI有它自己的函数,通过'windows.h'包含了相同的东西,但是这些函数只是POSIX,并且在Windows上不可用。所以所问的问题不能被回答,因为没有等价的标题。 – Mgetz
@Mgetz虽然我同意,它本身并不,我的回应链接的win32库应该做的伎俩。 – Mekap
@Mekap或者他们可以用['VirtualAllocEx'](https://msdn.microsoft.com/en-us/library/windows/desktop/aa366890(v = vs.85).aspx)以本地方式执行它[和堂兄弟 – Mgetz