malloc如何分配小于4KB的内存?

use*_*337 3 c c++ malloc virtualalloc

如果malloc调用VirtualAlloc()函数来分配内存(分配最小4Kb),malloc如何为int分配4个字节?

Jon*_*Jon 7

malloc页面大小的倍数向操作系统请求内存(显然,由于页面大小是定义的分配内存量),并以较小的块将其交给您.

这与所有内存分配器的作用没有什么不同 - 实际上,在幕后Boost.Pool使用的专用内存分配器(例如)malloc再次完成了这一点:它们分配了更大的内存块malloc并以较小的块分发给您.