如果malloc调用VirtualAlloc()函数分配内存(最少分配4Kb),malloc如何为int分配4字节?
最佳答案
malloc
以 page size 的倍数从操作系统请求内存(显然,因为页面大小根据定义是分配内存的量)并以较小的 block 将其分发给您。
这与所有内存分配器所做的没有什么不同——事实上,在幕后使用 malloc
的专用内存分配器(例如 Boost.Pool
)再次执行此操作:它们分配更大的 block 通过 malloc
分配内存并将其分成更小的部分交给您。
关于c++ - malloc如何分配小于4KB的内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21410958/