首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MIPS32 -去分配内存

MIPS32 -去分配内存
EN

Stack Overflow用户
提问于 2012-02-29 20:33:38
回答 1查看 789关注 0票数 0

假设我在MIPS32中有一个链表,并且在某个时候我想删除其中一个节点。我这样做是为了使前一个节点指向节点的下一个节点被移除。但是,删除的节点仍然包含一些数据。因此,问题是如何确定该节点在未来是否可用?

一种建议是创建包含所有可用节点的第二个链接列表。然而,我将如何执行这样的清单呢?另外,您认为这个列表应该指向内存中的所有可用空间还是仅指向已删除的节点之一?

还有其他更好的方法来实现同样的结果吗?

溶液

每当我们“请求”新内存时,我们就使用syscall使用sbrk服务。但是,如果我们已经从数据结构中删除了某些内容,我们可能需要使用删除的部分内存。

因此,解决方案可以是有一个可以重复使用的节点链接列表。每当我们从数据结构中删除某些内容时,我们就会将内存的一部分(即节点)添加到保持可重用内存跟踪的链接列表中。

因此,当我们必须在数据结构中添加某些内容时,我们首先检查“内存链接列表”中是否有一些可重用的节点。如果不是这样的话,我们可以像往常一样使用sbrk。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-04 20:24:55

每当我们“请求”新内存时,我们就使用syscall使用sbrk服务。但是,如果我们已经从数据结构中删除了某些内容,我们可能需要使用删除的部分内存。

因此,解决方案可以是有一个可以重复使用的节点链接列表。每当我们从数据结构中删除某些内容时,我们就会将内存的一部分(即节点)添加到保持可重用内存跟踪的链接列表中。

因此,当我们必须在数据结构中添加某些内容时,我们首先检查“内存链接列表”中是否有一些可重用的节点。如果不是这样的话,我们可以像往常一样使用sbrk。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9506178

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档