c# - .NET EXE 和 DLL 之间的堆栈/堆差异

标签 c# .net windows dll

这个问题困扰了我很久:

.NET EXE 和 DLL 文件都有地址空间。我知道他们都有代码空间和全局变量空间。但我想知道 DLL 是否有自己的堆和堆栈空间。

最佳答案

进程拥有堆。每个线程都拥有自己的堆栈。当 EXE 调用 DLL 中的函数时,使用相同的堆栈,因为函数调用在同一线程中。

要说明的另一点是进程具有加载 EXE 和 DLL 的地址空间。

关于c# - .NET EXE 和 DLL 之间的堆栈/堆差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5692703/

相关文章:

javascript - 防止从 ASP NET 按钮关闭模式

c# - 从 DotPeek(或等价物)重新创建解决方案/项目?

c# - 有没有一种惯用的方法来路由在 TPL 数据流图中的 TransformBlock 中失败的元素?

windows - 创建一个防弹工作进程(在 windows 上)

c# - Entity Framework 如何使用导航属性

c# - Sitecore 多列表数据源到新创建的项目

c# - MigraDoc - 加粗段落中的某些文本

.net - 针对低版本的项目可以使用高版本的.NET Framework吗?

php - 如何将 PHP 文件从 windows 复制到 ubuntu?

windows - Google Chrome 显示宽度为 1920 的奇怪下拉横幅?