【发布时间】:2011-08-17 00:03:40
【问题描述】:
假设您有一个使用 C++ DLL 的 VB6 应用程序。它们共享相同的内存(您可以使用来自另一个的指针)。 DLL 在 VB6 应用程序中声明为 Public Declare Function ... Lib ...
那么,这与“堆栈从内存的一侧增长,堆从另一侧”的哲学有什么关系呢? DLL的堆栈在哪里?启动应用程序时是否分配了全局 DLL 变量?如果是这样,为什么当我尝试从 DLL 运行函数时它只给我一个错误?
【问题讨论】:
-
你为什么不给我们一个提示并告诉我们错误信息?
-
没有错误。它完美地工作。我只是想知道 DLL 的全局变量在内存中的位置。我认为一个进程的一侧是堆增长,另一侧是堆栈——这使得很难解释动态加载的 DLL 的全局变量。
标签: c++ windows dll vb6 global-variables