在一些系統中,堆棧向上增長,而堆棧向下增長,在某些系統中,堆棧向下增長,堆棧向上增長。但是,哪一個是最好的設計?這兩種特定設計中是否有編程優勢?哪一種是最常用的,爲什麼它沒有被標準化爲遵循單一的方法?它們對某些特定場景是否有用/有針對性?如果是,他們是什麼?堆棧增長和堆棧增長的方向
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