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

发布于 2024-11-02 01:32:07 字数 91 浏览 0 评论 0原文

我被这个问题困惑了很长时间:

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

I am puzzled by this problem for a long time:

.NET EXE and DLL files both have address space. I know that they both have code space and global variable space. But I want to know whether DLLs have their own heap and stack space.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

哀由 2024-11-09 01:32:07

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

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

The process owns the heap. Each thread owns its own stack. When an EXE calls a function in a DLL the same stack is used because the function call is within the same thread.

The other point to make is that the process has the address space into which the EXE and DLL are loaded.

赢得她心 2024-11-09 01:32:07

AFAIK,

EXE:

  • 它是一个可执行文件。
  • 当系统启动新的exe时,会创建一个新的进程,

DLL

  • 是动态链接库。

请在此处查看更多信息:exe 和 dll 之间的差异

AFAIK,

EXE:

  • Its a executable file.
  • When a system launches new exe, a new process is created

DLL

  • Its a Dynamic Link Library.

Check here for more : Differences between exe and dll

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文