首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将malloc()恢复到初始状态

将malloc()恢复到初始状态
EN

Stack Overflow用户
提问于 2009-12-16 21:22:31
回答 6查看 599关注 0票数 3

您是否知道是否有方法可以将malloc恢复到初始状态,就像程序刚刚启动一样?

原因:我正在开发一个使用nintendods devkitpro的嵌入式应用程序,我希望能够在出现软件故障的情况下提高调试支持。我已经可以捕获大多数错误,例如返回控制台菜单,但在捕获std::bad_alloc时无法工作。

我怀疑我用于“软重新启动”的代码在某种程度上涉及到我无法控制的malloc()本身,所以我想“忘记正在运行的应用程序的一切,重新开始”。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2010-01-14 20:23:02

重新开始的唯一方法是从存储中重新加载应用程序。DS将所有内容加载到RAM中,这意味着数据段被就地修改。

票数 1
EN

Stack Overflow用户

发布于 2009-12-16 21:25:43

没有办法做到这一点的可移植性,尽管可以想当然的嵌入式实现的C++提供它作为一个扩展。相反,您应该考虑编写自己的分配系统,使用内存池,或者使用现有的库。

票数 3
EN

Stack Overflow用户

发布于 2009-12-16 21:26:35

只有一次我做了类似的事情,我们使用了我们自己的分配器,它将保留对每个已分配块的引用。如果我们想回滚,我们将释放所有分配的块,并执行longjmp来重新启动程序。

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

https://stackoverflow.com/questions/1914633

复制
相关文章

相似问题

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