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

标签 c++ c malloc virtualalloc

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

最佳答案

mallocpage size 的倍数从操作系统请求内存(显然,因为页面大小根据定义是分配内存的量)并以较小的 block 将其分发给您。

这与所有内存分配器所做的没有什么不同——事实上,在幕后使用 malloc 的专用内存分配器(例如 Boost.Pool )再次执行此操作:它们分配更大的 block 通过 malloc 分配内存并将其分成更小的部分交给您。

关于c++ - malloc如何分配小于4KB的内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21410958/

相关文章:

c++ - C++ 中 Dynamic_cast 中的侧投或交叉转换是什么

字符排序算法

c - readline.h 不在 32 位 ubuntu 中,而是在 64 位中?

c - C 中 malloc 和 (int *)malloc 的区别

c - 您在增长缓冲区上使用什么 var 类型

c++ - 初始化结构中数组的值

c++ - 为什么多态派生类不能嵌套在基类内部?

c++ - 一种下载所有必需的 kde 依赖项以开始进行 kde 编程的方法?

python - 从 Python 调用静态 C 库

c - malloc 是动态内存分配吗?