在一些系统中,堆栈向上增长,而堆栈向下增长,在某些系统中,堆栈向下增长,堆栈向上增长。但是,哪一个是最好的设计?这两种特定设计中是否有编程优势?哪一种是最常用的,为什么它没有被标准化为遵循单一的方法?它们对某些特定场景是否有用/有针对性?如果是,他们是什么?堆栈增长和堆栈增长的方向
2
A
回答
0
我已经阅读了Miro Samek和其他各种嵌入式专家的着作,看来他们并不赞成在嵌入式系统上进行动态分配。这可能是由于复杂性和内存泄漏的可能性。如果你有一个绝对不能失败的项目,你可能会想避免使用Malloc,因此堆很小。其他非关键任务系统可能恰恰相反。我不认为会有一个标准的方法。
0
也许它只是取决于处理器:如果它支持堆栈向上或向下?
1
堆只在非常幼稚的实现方向“增长”。正如Paul R.提到的,堆栈增长的方向是由硬件定义的 - 在Intel CPU上,它总是朝着更小的地址“即'Up'”
相关问题
- 1. 堆栈增长与否?
- 2. 英特尔堆栈增长和参考
- 3. 堆栈是否连续增长?
- 4. 将使用setTimeout防止堆栈增长?
- 5. 运行时间堆栈的增长方向
- 6. 程序堆栈的增长方向究竟是什么?
- 7. 关于堆栈增长和寻址的困惑
- 8. c&gcc:堆栈增长和对齐 - 对于64位机器
- 9. 未知堆增长
- 10. 堆增长和下降
- 11. 增加堆栈大小c#
- 12. 增加堆栈空间
- 13. 增加AsyncTask堆栈大小?
- 14. 增加堆栈大小
- 15. 调用堆栈增加javascript
- 16. 增加栈保留后堆栈溢出
- 17. LuaJit增加堆栈/堆大小
- 18. 为什么堆栈增长到较低的地址?
- 19. 如何在系统中查看堆栈增长还是减少?
- 20. 增加堆栈保留大小不会防止堆栈溢出
- 21. JVM - 堆栈和堆栈
- 22. 线程1中的堆栈溢出:无法将堆栈增长到0xffe601ff8 Valgrind错误
- 23. addSubview和removeFromSuperview时的堆增长
- 24. 如何增加堆栈的容量?
- 25. 的Android:增加调用堆栈大小
- 26. 增加MSXML中的XSL堆栈大小
- 27. 增加OpenGL属性堆栈的深度
- 28. 指向堆栈
- 29. OOP和堆/堆栈
- 30. 块,堆栈和堆
这个功课? – NullUserException 2010-07-30 18:39:59
不是。我一直在理解内存布局,这个查询弹出来了! – 2010-07-30 18:42:35
一般来说堆不会增长 - 它只是您感兴趣的堆栈增长的方向,而这是特定于架构的。 – 2010-07-30 18:48:28