如果我想使用自定义的预分配堆来构建类似 malloc 的功能,那么在 C 中最好的方法是什么?
我的问题具体在于,我有一个类似于内存的可映射设备已经被放置到我的地址空间中,但我需要一种更灵活的方式来使用这个内存,以便在时间上分配和释放对象。
我知道 malloc、free 和其他类似函数是用于在堆上执行此类分配的,但是否有任何方法可以使用此类函数提供的逻辑,同时为其动态行为提供自己的地址空间以操作相应的堆呢?
我的问题具体在于,我有一个类似于内存的可映射设备已经被放置到我的地址空间中,但我需要一种更灵活的方式来使用这个内存,以便在时间上分配和释放对象。
我知道 malloc、free 和其他类似函数是用于在堆上执行此类分配的,但是否有任何方法可以使用此类函数提供的逻辑,同时为其动态行为提供自己的地址空间以操作相应的堆呢?
clone
函数的东西,它类似于fork,但它允许你向子进程传递一个堆栈。 - Elias Van Ootegemmalloc
和free
吗?还是遵循堆栈规则(先分配的先释放)?也许你可以限制自己只分配单一大小的内存,并创建一个池? - user395760