在某些系统中,堆栈向上增长,而堆则向下增长;在某些系统中,堆栈向下增长,堆向上增长。但是,哪种设计是最好的呢?这两种特定设计中的任何一种都有编程优势吗?哪一种是最常用的,为什么没有标准化来遵循单一的方法?它们是否对某些特定场景有帮助/有针对性。若有,是甚麽?
发布于 2010-07-31 03:00:39
在非常幼稚的实现中,堆只在一个方向上“增长”。正如Paul R.提到的,堆栈的发展方向是由硬件定义的-在Intel CPU上,它总是朝着较小的地址“即‘向上’”发展。
发布于 2010-07-31 02:59:55
我读过Miro Samek和其他各种嵌入式专家的作品,他们似乎不赞成在嵌入式系统上进行动态分配。这可能是由于复杂性和内存泄漏的可能性。如果你有一个绝对不会失败的项目,你可能会想要避免使用Malloc,这样堆就会很小。其他非关键任务系统可能正好相反。我不认为会有一个标准的方法。
发布于 2010-07-31 03:00:16
也许它只是依赖于处理器:它是否支持堆栈向上或向下?
https://stackoverflow.com/questions/3374421
复制相似问题