这个动态库加载使用一切都正常, 就是最后程序退出时会丢一个断言错误出来.
在dllmodul.cpp 文件中的RawDllMain函数里面extern "C"
BOOL WINAPI RawDllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID)
{
hInstance;
if (dwReason == DLL_PROCESS_ATTACH)
{
#ifdef _AFXDLL
// make sure we have enough memory to attempt to start (8kb)
void* pMinHeap = LocalAlloc(NONZEROLPTR, 0x2000);
if (pMinHeap == NULL)
return FALSE; // fail if memory alloc fails
LocalFree(pMinHeap); // set module state before initialization
_AFX_THREAD_STATE* pState = AfxGetThreadState();
pState->m_pPrevModuleState = AfxSetModuleState(&afxModuleState);
}
else if (dwReason == DLL_PROCESS_DETACH && !__mixedModuleStartup)
{
// restore module state after cleanup
_AFX_THREAD_STATE* pState = AfxGetThreadState();
VERIFY(AfxSetModuleState(pState->m_pPrevModuleState) ==
&afxModuleState); // 此行报错
DEBUG_ONLY(pState->m_pPrevModuleState = NULL);#endif //_AFXDLL
}
return TRUE;
} 望指教. 讲得不详细的地方请包涵, 我慢慢贴源码上来.
解决方案 »
- 怎么可以用VC6或者VS2010生成一个安装程序,想把一些配置脚本和程序一把给安装了。谢谢
- combobox的dropdown窗口的问题
- 关于读写正确中文字符
- 如何在VC中让SQL语句识别出函数传递近来的参数
- 如何动态显示位图?
- BHO的怪问题
- 如何在下拉列表框中添加文本??
- MFC ODBC 数据访问问题
- 如何实现透明位图,不是透空的那种!!!
- 这是什么问题? Unhandled exception in test.exe(KERNEL32.DLL):0xEEDFADE:(no name)
- C++中如何读取文件,并把文件中的数据用base64编码,分段成多条记录后,保存到数据表中??
- VC6下求教制作自己的函数库相关问题.
导出接口来做初始化和结束操作