Чтобы выделить память, я делаю так:
uint64_t _addr = 0x00;
kern_return_t err = mach_vm_allocate(mach_task_self(), &_addr, size, VM_FLAGS_ANYWHERE);
if (err != KERN_SUCCESS) {
printf("failed to allocate %s\n", mach_error_string(err));
}
Но может кто-нибудь показать, как предотвратить перенос этой памяти в область подкачки? В Windows есть VirtualLock.