[译] 写一个简单的内存分配器(替换glibc中的malloc函数)
申请的内存块是连续的。如果大小不满足,我们调用malloc()来获取一块被要求大小的内存块,然后使用memcpy()将老内存块的内容拷贝至新的内存块上。代码实现主要为了演示内存分配器的基本工作原理,所以和工业级内存分配器相比,缺少非常多的性能优化,分配内存时也不会按页对齐,但是至少,我们构建的内存分配器是可以工作的。但是释放一块内存的首先前提是,我们知道这块内存的大小。这里,我们做了个快速的乘法结果溢出的检查,然后调用malloc(),并且通过memset()函数将申请的内存内部的值都初始化为0。
原创
2023-05-24 16:47:34 ·
329 阅读 ·
0 评论