2
A
回答
6
的进程拥有堆。每个线程都拥有自己的堆栈。当EXE调用DLL中的函数时,会使用相同的堆栈,因为函数调用在同一个线程中。
另一点是进程具有地址空间,EXE和DLL加载到该地址空间。
2
+3
当它甚至不试图回答这个问题时,这个答案如何得到upvoted?你必须阅读更多的标题:*“但我想知道该dll是否有堆空间和堆栈空间。”* – 2011-04-17 09:40:41
相关问题
- 1. 数组和堆栈之间的区别?
- 2. 描述堆栈和列表堆栈之间的区别?
- 3. 堆栈和堆之间有什么区别?
- 4. 类区域和堆之间的区别
- 5. “调用堆栈”和“任务队列”之间的区别
- 6. 托管堆和GC堆之间有什么区别
- 7. “AMP堆栈”和WAMP之间是否有区别?
- 8. 堆栈跟踪和回溯之间有什么区别?
- 9. 任务和活动堆栈:两者之间有什么区别。
- 10. 堆栈和堆栈帧有什么区别?
- 11. 进程堆栈和CPU堆栈有什么区别?
- 12. 线程堆栈和进程堆栈有什么区别
- 13. 进程虚拟内存 - 堆栈和堆之间的空间
- 14. 使用内存时用户定义堆栈和内置堆栈之间的区别是什么?
- 15. 这些nasm堆栈推动之间有什么区别?
- 16. JVM - 堆栈和堆栈
- 17. WinCE 6.0上的.NET和C之间的堆栈调用约定
- 18. DLL包装和DLL之间的区别
- 19. OOP和堆/堆栈
- 20. 块,堆栈和堆
- 21. 线程堆和堆栈
- 22. 堆栈和堆查看器
- 23. 从Collections.asLifoQueue(Deque)和堆栈(Java 6)返回的队列之间的区别
- 24. .NET堆栈溢出?
- 25. DLL文件堆栈溢出
- 26. TCL命名空间和堆栈帧有什么区别?
- 27. 使堆栈视图之间的间隔
- 28. Net :: HTTP - >堆栈级别太深
- 29. highcharts上的区域/堆栈区域上的堆栈行?
- 30. 从堆栈中间展开堆栈
DLLs不能有堆栈空间,因为它们没有线程。从DLL执行的代码在调用进程的上下文中运行,并在该进程的线程中运行,从而将内存分配本地化为应用程序,而不是DLL。 – 2011-04-17 09:34:45
@cody当然一个DLL可以创建一个线程 – 2011-04-17 09:38:30