DLL中调用DLL的问题
急问
应用户要求需我开发一个dll给他们调用,在我这个dll中再调用某公司的医保dll。
但是我在调用时dll可以正确加载,用GetProcAddress也可以获得函数地址。
但是一旦执行函数程序就直接崩溃,弹窗显示的是 "0x00e526c5"指令引用的"0x100215f0"内存。该内存不能为"weitten"。
部分代码如下
声明:
typedef int (WINAPI*lpFun1)(char*);
typedef int (WINAPI*lpFun2)(char*,char*);
HINSTANCE m_hDll;
lpFun1 func_INIT;
lpFun2 func_BUSINESS_HANDLE;
extern "C" __declspec(dllexport) void Mes();
实现函数:
extern "C" __declspec(dllexport) void Mes()
{
m_hDll = LoadLibrary(_T("SiInterface.dll"));
if (NULL == m_hDll)
{
AfxMessageBox(_T("DLL加载失败"));
return;
}
AfxMessageBox(_T("DLL加载成功"));
func_INIT = (lpFun1)GetProcAddress(m_hDll,"INIT");
func_BUSINESS_HANDLE = (lpFun2)GetProcAddress(m_hDll,"BUSINESS_HANDLE");
char* p = "";
func_INIT(p);
}
执行到 func_INIT(p); 程序就崩溃了
请各位大神帮忙~