-2
A
回答
1
程序分爲4個部分:堆棧,數據,代碼,堆。
這不是一個準確的起點。
一個程序被分成具有各種屬性的程序段。
- 只讀/不執行(你調用數據)
- 只讀/執行(你調用的代碼)
- 讀/寫(這既包括堆和棧)。
堆棧只是一個內存塊,使用push和pop操作分配和釋放。分配和釋放通常使用堆棧指針寄存器實現。
堆是一個或多個內存塊,可以按任何順序和各種大小分配和釋放。操作系統對程序堆沒有任何知識。由代碼鏈接的庫進行管理(儘管操作系統會有自己的堆)。操作系統只是看到這些內存塊。
相關問題
- 1. 堆棧跟蹤和回溯之間有什麼區別?
- 2. 任務和活動堆棧:兩者之間有什麼區別。
- 3. 堆棧和堆棧幀有什麼區別?
- 4. 進程堆棧和CPU堆棧有什麼區別?
- 5. 線程堆棧和進程堆棧有什麼區別
- 6. 描述堆棧和列表堆棧之間的區別?
- 7. 數組和堆棧之間的區別?
- 8. 託管堆和GC堆之間有什麼區別
- 9. 這些nasm堆棧推動之間有什麼區別?
- 10. .NET EXE和DLL之間的堆棧/堆區別
- 11. TCL命名空間和堆棧幀有什麼區別?
- 12. 堆棧溢出和緩衝區溢出有什麼區別?
- 13. 「AMP堆棧」和WAMP之間是否有區別?
- 14. 堆和紅黑樹之間有什麼區別?
- 15. bzr中堆疊分支和堆疊推送之間有什麼區別?
- 16. 使用內存時用戶定義堆棧和內置堆棧之間的區別是什麼?
- 17. 類區域和堆之間的區別
- 18. 在堆棧上創建對象和在堆上創建對象之間有什麼區別?
- 19. RSS和堆有什麼區別?
- 20. dword和彙編程序中的'堆棧'有什麼區別
- 21. 碼頭服務和堆棧有什麼區別?
- 22. 分段錯誤和堆棧溢出有什麼區別?
- 23. 「調用堆棧」和「任務隊列」之間的區別
- 24. 什麼「堆棧無效,堆棧只支持堆棧1和堆棧5」是什麼意思?
- 25. 爲什麼堆棧有界?
- 26. 全堆棧,堆棧交換等,什麼是堆棧?
- 27. 進程虛擬內存 - 堆棧和堆之間的空間
- 28. JVM - 堆棧和堆棧
- 29. C++堆棧/堆棧。爲什麼只有一個新操作員?
- 30. 在堆或堆棧中創建構造函數的區別是什麼?