我正在使用 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/