2
A
回答
6
的進程擁有堆。每個線程都擁有自己的堆棧。當EXE調用DLL中的函數時,會使用相同的堆棧,因爲函數調用在同一個線程中。
另一點是進程具有地址空間,EXE和DLL加載到該地址空間。
2
+3
當它甚至不試圖回答這個問題時,這個答案如何得到upvoted?你必須閱讀更多的標題:*「但我想知道該dll是否有堆空間和堆棧空間。」* – 2011-04-17 09:40:41
相關問題
- 1. 數組和堆棧之間的區別?
- 2. 堆棧和堆之間有什麼區別?
- 3. 託管堆和GC堆之間有什麼區別
- 4. 任務和活動堆棧:兩者之間有什麼區別。
- 5. 堆棧跟蹤和回溯之間有什麼區別?
- 6. 「AMP堆棧」和WAMP之間是否有區別?
- 7. 進程堆棧和CPU堆棧有什麼區別?
- 8. 調用堆棧和堆棧跟蹤有什麼區別?
- 9. 線程堆棧和進程堆棧有什麼區別
- 10. 進程虛擬內存 - 堆棧和堆之間的空間
- 11. JVM - 堆棧和堆棧
- 12. WinCE 6.0上的.NET和C之間的堆棧調用約定
- 13. DLL包裝和DLL之間的區別
- 14. 線程堆和堆棧
- 15. 堆棧和堆查看器
- 16. TCL命名空間和堆棧幀有什麼區別?
- 17. .NET堆棧溢出?
- 18. .COM和.EXE之間的區別
- 19. 塊+ ARC,堆棧和堆
- 20. 堆棧幀和堆棧指針
- 21. 語言之間的堆棧數據
- 22. 堆棧之間的Java移動號碼
- 23. 堆中的對象與堆棧內存之間的混淆
- 24. 堆棧溢出和緩衝區溢出有什麼區別?
- 25. 在堆棧中聲明一個對象的兩種方法之間的區別
- 26. 確定COM和.NET的DLL之間的區別在PowerShell中
- 27. 堆棧或堆
- 28. MEAN中的區域堆棧
- 29. 堆棧語言的識別
- 30. DFS和堆棧
DLLs不能有堆棧空間,因爲它們沒有線程。從DLL執行的代碼在調用進程的上下文中運行,並在該進程的線程中運行,從而將內存分配本地化爲應用程序,而不是DLL。 – 2011-04-17 09:34:45
@cody當然一個DLL可以創建一個線程 – 2011-04-17 09:38:30