c++ - 拆分 malloc 内存空间

标签 c++ split malloc

我正在使用 MS VS 2010,C++,非托管。如果可能的话,我想分割分配的区域。例如,假设我在内存中分配了 1KB 的空间:

void* space = malloc(1024);

后来,我决定将这个 block 作为单独的 512B 和 512B 空间:

space1 = 512B and space2 = 512B

最后,当我想摆脱这些空间时,我想单独释放它们:

free(space1);
free(space2);

如果不重新分配/扩展/收缩内存,这可能吗?

谢谢大家..

最佳答案

不,你不能单独释放它们,因为 malloc() 只会保留一份必要的簿记数据,所以它只能释放一个 block 。您将不得不编写自己的 malloc/free 包装器。

关于c++ - 拆分 malloc 内存空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4367742/

相关文章:

c - 为什么 malloc 会在这里引发内存损坏?

c++ - GDB 找不到行号,objdump 找到了

C - 释放结构

c++ - C++ 中的一个奇怪表达式 - 这是什么意思?

python split 函数无法按预期工作

java - String.Split 的行为不符合预期

arrays - 如何将字节值拆分为多个较小的字节值?

C malloc 仅在第二次调用时崩溃

c++ - 具有取消处理的 async_wait 处理程序类成员

c++ - 是否有 C++ 风格指南质量指标?