【发布时间】:2010-11-05 18:30:40
【问题描述】:
我正在 Visual Studio 中开发 Win32 c++ 应用程序。
在其中一个源文件中,我有如下全局对象。
TestClass tObj;
int main() //Execution starts here
{
}
TestClass 在其他 DLL 中定义,如下所示。
struct Source
{
};
class TestClass
{
list<Source> sourceList;
public:
TestClass() {}
~TestClass() {}
};
当我的应用程序正在运行时,如果我尝试明确关闭应用程序, 通过关闭控制台窗口,它在 TestClass 析构函数中崩溃。 Callstack 显示 CrtIsValidHeapPointer 失败。
请帮我解决这个问题。
【问题讨论】:
-
使用四个空格缩进代码,不使用普通文本。
-
您是否使用相同的 C++ 运行时构建了 exe 和 DLL?
-
是的,我都使用 Visual Studio 构建。只有配置类型不同。一个是exe,一个是项目设置中的DLL配置。
-
如何将 dll 链接到 exe ?通过传统的静态链接(使用 .lib)
-
崩溃是通过在 exe 和 dll 中使用相同的运行时库来解决的。谢谢大家帮助我。
标签: c++ destructor