自己编写的dll,调试的时候,调用dll的程序出现了下面的异常情况?请指点,分不够在加
First-chance exception in Fdd.exe: 0xC0000005: Access Violation.
First-chance exception in Fdd.exe: 0xC0000005: Access Violation.
First-chance exception in Fdd.exe (NTDLL.DLL): 0xC0000005: Access Violation.
First-chance exception in Fdd.exe (NTDLL.DLL): 0xC0000005: Access Violation.
出现这种情况一般是什么原因呢?是不是我的dll写的不够规范
我是用mfc 的regular...向导生成的dll
在mydll.cpp文件下
int SumQ()
{
return q.sum();
}
extern "C" __declspec(dllexport) UINT MydllTest(CString str1,CString str2)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
AfxMessageBox(str1+str2);
CQueue q(100);//一个队列数据结构
for(int i=0;i<99;i++)
{
q.enqueue(i);
}
//q 的其他操作
SumQ();
return somres;
}
大概就是这个结构了
在另一个程序里是显示调用我的mydll.dll
HMODULE hLib = LoadLibrary("mydll.dll");
UINT (*MyProc)(CString,Cstring) = NULL;
MyProc = (UINT(*)(double)) GetProcAddress(hLib, "MydllTest");
if (MyProc != NULL)
{
int sum = (*MyProc)("test1","test2");
}
FreeLibrary(hMathLib);