我在一个EXE里面动态(loadlibary)加载了一个DLL(将它叫做A)
我在同一个EXE里又隐式加载了一个DLL(将这个DLL叫做B),
我在A里面又隐式加载了B,这时在B里面有一个导出类定义,
class c{
private:
c* getC(){return c1;}
void setC(c* c2){m_c=c2}
static c* c2;
}
我这个时候,在A里面new了一个c类的对象,并且把它setC到了内存中。当我程序退出的时候,我要delete掉m_c,这时候发现m_c的虚表vtrfp已经非法了???请问大家这是怎么回事啊???
我在同一个EXE里又隐式加载了一个DLL(将这个DLL叫做B),
我在A里面又隐式加载了B,这时在B里面有一个导出类定义,
class c{
private:
c* getC(){return c1;}
void setC(c* c2){m_c=c2}
static c* c2;
}
我这个时候,在A里面new了一个c类的对象,并且把它setC到了内存中。当我程序退出的时候,我要delete掉m_c,这时候发现m_c的虚表vtrfp已经非法了???请问大家这是怎么回事啊???
解决方案 »
- treecontrol 控件如何动态添加复选框?+CFileFind 类型问题
- 当我用FindFirstFile时会出现问题!!求解决方法!
- 怎样一次删除listctrl 控件中的多项
- 模拟鼠标发消息问题,坐标问题
- 热泪求助:工作重压下,请大家帮一把。急!急!急!
- 关于VC无标题栏窗体谢谢!
- 谁能给出VC写的C语言的词法分析器和语法分析器啊?详细点的算法也可!高分相送!!
- 为什么我的对话框不能设置最大化和最小化框
- 谁知道如何编程获得DNS的地址啊???(
- 谁知道ATL里IPicture::SaveAsFile在VISTA下为什么会失败?
- 使用F5调试运行程序,出现n行:First-chance exception in ClientProxy.exe (HOOKDLL.DLL): 0xC0000005: Access Violation.请问有人知道
- 新手提问:C/C++/C#之间有什么联系和区别?都用的什么集成开发环境?VC用的是什么语言?
class AFX_CLASS_EXPORT CMESLoginManage
{
public:
CMESLoginManage();
virtual ~CMESLoginManage();
..... static void SetMESLogInMag(CMESLoginManage* pMesLoginMag);
static CMESLoginManage* GetMESLogInMag();
};
.cpp
CMESLoginManage* m_MesLoginMag=NULL;
CMESLoginManage* CMESLoginManage::GetMESLogInMag()
{
return m_MesLoginMag;
}void CMESLoginManage::SetMESLogInMag(CMESLoginManage* pMesLoginMag)
{
m_MesLoginMag=pMesLoginMag;
}