MemoryAllocator:自定义内存分配器

时间:2021-02-09 23:39:21
【文件属性】:
文件名称:MemoryAllocator:自定义内存分配器
文件大小:550KB
文件格式:ZIP
更新时间:2021-02-09 23:39:21
C++ 内存分配器 基于显式空闲列表的自定义内存分配器 有几种常用的实现自定义内存分配器的方法,例如隐式空闲列表,显式空闲列表,隔离的空闲列表和平衡的二进制搜索树,每种方法各有优缺点。 在这里,我使用显式的空闲列表来实现我的自定义内存分配器,目的是学习和实践内存管理知识。 块 块用于表示整个连续存储块中的分配或空闲存储块。 当我们要跟踪分配或空闲块的地址,大小和额外的元数据时,将需要一些基本信息。 因此,块的结构如下。 地址(隐式) 尺寸 上一个(明确的) 下一个(明确) 块结构: struct Block { size_type size; Block* prev; Block* next; }; 分配 首先适合: 迭代空闲列表util,使空闲块符合所需的分配大小 优点:快速 缺点:更多的内存碎片 下一个适合: 从最后一次拟合开始迭代*列表util free block f
【文件预览】:
MemoryAllocator-main
----premake5.lua(1KB)
----premake5.exe(1.3MB)
----LICENSE(1KB)
----README.md(2KB)
----include()
--------detail()
--------ExplicitFreeListAllocator.h(4KB)
--------DefaultAllocator.h(315B)
--------Allocator.h(2KB)
----setup.bat(25B)
----.gitattributes(66B)
----test()
--------main.cpp(4KB)

网友评论