调用DLL导出函数的问题
接口.h
void _stdcall CreateJammingSignal(JammerInfo,JAMMER_PRO_PARAM,SIGNAL_SAMPLES* );
接口.cpp
void _stdcall CreateJammingSignal(JammerInfo dJammerInfo,JAMMER_PRO_PARAM dParam,SIGNAL_SAMPLES* d_JammerReturn)
{
CJammer dJammer;――自定义的类
dJammer.Create_JammingSignal(dJammerInfo,dParam,d_JammerReturn);
}
CJammer.h
void Create_JammingSignal(JammerInfo,JAMMER_PRO_PARAM,SIGNAL_SAMPLES* );
CJammer.cpp
Void CJammer::Create_JammingSignal(JammerInfo,JAMMER_PRO_PARAM,SIGNAL_SAMPLES* )
{
function1();
function2();
…
functionN();
}
为什么执行完functionN后(退出函数Create_JammingSignal之前)就报这个错:
File:i386\chkesp.c Line:42
The value of ESP was not properly saved across a function call.This is usually a result of calling a function declared with one calling convention with a function pointer declared with a different calling convention.
昨天有人说是调用约定的问题(调用约定的问题确实会有这种错误),可我改了为什么还是不行啊?就算我在CJammer.h和CJammer.cpp的函数前也加上调用约定,还是有这个问题。请大家帮帮忙~谢谢