【发布时间】:2011-04-17 09:26:20
【问题描述】:
这个问题我困惑了很久:
.NET EXE 和 DLL 文件都有地址空间。我知道它们都有代码空间和全局变量空间。但我想知道 DLL 是否有自己的堆和堆栈空间。
【问题讨论】:
-
DLL 不能有堆栈空间,因为它们没有线程。从 DLL 执行的代码在调用进程的上下文中运行,并且在该进程的线程上运行,从而将内存分配本地化给您的应用程序,而不是 DLL。
-
@cody 当然,DLL 可以创建线程