程序堆和堆棧的可用數量是多少?我如何確定它?它是依賴於編譯器還是PC還是兩者?個人電腦上堆和堆棧的數量
0
A
回答
1
它是「無限」:]。每個進程都會收到一個虛擬地址空間,這個空間僅受CPU和操作系統實現的限制如果CPU或操作系統是32位,則該過程有可能解決大約4GB的虛擬內存(即使您的PC中安裝的RAM較少)。在64位CPU和64位操作系統上,當前的實現將虛擬地址空間限制爲48位,所以一個進程認爲它可以使用高達256TB的內存。
操作系統將動態地嘗試保留儘可能多的堆棧空間和進程所需的空間。
1
這取決於操作系統,硬件和其他正在運行的程序。您可以向操作系統詢問物理內存和交換空間的大小,但不知道堆棧和堆棧實際上可用於您的程序。你的程序會得到自己的虛擬內存空間,但是如果你試圖分配它,如果沒有內存來支持它,分配將失敗。
相關問題
- 1. 上我已經堆疊安裝在我的電腦上Haskell的堆棧
- 2. 在堆或堆棧上的C++矢量?
- 3. JVM - 堆棧和堆棧
- 4. OOP和堆/堆棧
- 5. 塊,堆棧和堆
- 6. 我的電腦上的網絡堆棧是否使用DMA?
- 7. 字符堆棧,字符串堆棧,整數堆棧,整數數組堆棧等
- 8. 矢量,堆棧與堆棧(C++)
- 9. 堆棧變量
- 10. 因素:堆棧上元素的數量
- 11. 堆上,而不是堆棧
- 12. 線程堆和堆棧
- 13. 在PHP中堆棧和堆?
- 14. 堆棧和堆查看器
- 15. 塊+ ARC,堆棧和堆
- 16. 堆棧幀和堆棧指針
- 17. 任務堆棧和背堆棧在android
- 18. 內存分配,堆棧和堆棧
- 19. 連接兩個堆棧(在另一個上面一個堆棧)
- 20. 在堆和堆棧上創建混合矢量對象
- 21. 堆棧或堆
- 22. 內存中的堆棧實際上是一個堆棧嗎?
- 23. JVM堆棧變量
- 24. 希望堆棧堆棧?
- 25. 的Java棧和堆
- 26. Eclipse + Pydev + pylab:堆棧:使用電流後的堆棧
- 27. 堆/堆棧上的類成員分配?
- 28. 堆棧或堆上的對象分配
- 29. 堆棧/堆上的對象創建?
- 30. Java堆棧上的Cassandra與JavaScript堆棧上的Mongo Db
取決於幾乎所有的東西,包括操作系統和操作系統設置。如何確定它也取決於操作系統(如果可能的話)。所以,如果沒有更具體的細節,你的問題是不能真正答覆的。 – Mat