gpt4 book ai didi

c++ - VirtualAlloc/Ex分配什么样的内存

转载 作者:行者123 更新时间:2023-11-30 05:00:53 37 4
gpt4 key购买 nike

我知道 C/C++ 风格的程序有内存部分、堆栈、堆、.text 等。但是当我使用 VirtualAlloc 时,它从哪里分配内存?我不认为它是堆,因为我可以只使用 HeapAlloc。

建议将不胜感激!

最佳答案

堆内存驻留在您的程序虚拟内存中,由 VirtualAlloc 在幕后分配。然而,问题在于 VirtualAlloc 仅在称为页面的大块中分配内存,这使得它无法用于一般内存分配。

出于这个原因,有 HeapAlloc 管理分配的页面,并且可以将多个分配连接到一个页面中,这样您就不会不必要地为每个小分配分配整个页面(通常是 4KB,但这不是规则)。

关于c++ - VirtualAlloc/Ex分配什么样的内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50514647/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com