gpt4 book ai didi

c++ - DLL 的全局变量存储在内存中的什么位置?

转载 作者:可可西里 更新时间:2023-11-01 14:40:59 24 4
gpt4 key购买 nike

假设您有一个使用 C++ DLL 的 VB6 应用程序。它们共享相同的内存(您可以在另一个中使用一个指针)。 DLL 在 VB6 应用程序中声明为 Public Declare Function ... Lib ...

那么这如何符合“堆栈从内存的一侧增长,堆从另一侧增长”的理念呢? DLL的堆栈在哪里?应用程序启动时是否分配了全局 DLL 变量?如果是这样,为什么当我尝试从 DLL 运行函数时它只给我一个错误?

最佳答案

VB6 使用 thread local storage对于模块级变量,而不是数据段。这意味着模块中的公共(public)(全局)变量对于不同的线程可以有不同的值。这不是 C/C++ 开发人员所习惯的。

关于c++ - DLL 的全局变量存储在内存中的什么位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7086585/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com