c - 提交和锁定虚拟内存有什么区别?

标签 c memory-management

有一些 C 函数。

例如; VirtualAlloc() 保留并提交,VirtualLock() 锁定虚拟内存空间的一个区域。

它们有什么区别?

最佳答案

VirtualLock locks the specified region of the process's virtual address space into physical memory, ensuring that subsequent access to the region will not incur a page fault.

VirtualAlloc 从内核请求内存 - 即在分配后您将获得一 block 新的内存来使用。内核经常需要换出内存来为其他东西腾出空间。 VirtualLock 要求内核不要换出内存区域

关于c - 提交和锁定虚拟内存有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9157883/

相关文章:

c - 如何打印双向链表的内容?

c - 对环境变量进行标记并将生成的标记保存在 char** 中

linux - 释放物理内存页面并强制页面错误

c - Win32 编程与现代专业人士的相关性如何?

c# - 任何数据类型的大小和范围是根据什么决定的?

android - 在 Android gstreamer 中使用多个进程!!

c - 返回字符串的子串

c++ - 如何确定 cv::Mat 使用的是内部数据还是外部数据?

c - 如何从C中的链表中正确释放内存?

c - OpenCL:奇怪的内核行为