.H文件的声名如下:
#ifdef GRAPHICSSYSTEM_BUILD
#undef GRAPHICSSYSTEMAPI
#define GRAPHICSSYSTEMAPI __declspec(dllexport)
#endif#ifdef GRAPHICSSYSTEM_USE
#undef GRAPHICSSYSTEMAPI
#define GRAPHICSSYSTEMAPI __declspec(dllimport)
#endifGRAPHICSSYSTEMAPI void EurekaSendMsg( UINT uMsg, WPARAM wParam, LPARAM lParam );
.cpp实现如下:
void EurekaSendMsg(UINT uMsg,WPARAM wParam,LPARAM lParam)
{
SendMessage( g_pWnd->GetSafeHwnd(),uMsg,wParam,lParam);
}当主程序调用EurekaSendMsg时就会出现:
The value of ESP was not properly saved across a functon call . This is usually a result of calling a function declared with one calling convention with a function pointer declared with a diffent calling
convention.
但在DEBUG模式下忽略程序仍可以继续运行,请问这是为什么?
#ifdef GRAPHICSSYSTEM_BUILD
#undef GRAPHICSSYSTEMAPI
#define GRAPHICSSYSTEMAPI __declspec(dllexport)
#endif#ifdef GRAPHICSSYSTEM_USE
#undef GRAPHICSSYSTEMAPI
#define GRAPHICSSYSTEMAPI __declspec(dllimport)
#endifGRAPHICSSYSTEMAPI void EurekaSendMsg( UINT uMsg, WPARAM wParam, LPARAM lParam );
.cpp实现如下:
void EurekaSendMsg(UINT uMsg,WPARAM wParam,LPARAM lParam)
{
SendMessage( g_pWnd->GetSafeHwnd(),uMsg,wParam,lParam);
}当主程序调用EurekaSendMsg时就会出现:
The value of ESP was not properly saved across a functon call . This is usually a result of calling a function declared with one calling convention with a function pointer declared with a diffent calling
convention.
但在DEBUG模式下忽略程序仍可以继续运行,请问这是为什么?
解决方案 »
- 招聘VC++程序员
- 安装了vc7后,默认调试打开改成了vc7,我想改成vc6。怎么办。
- 《Windows核心编程》中的(CAPIHook)使用问题
- 怎样通过子窗口的按钮改变主窗口checkbox的状态?
- ntdll.dll出错了
- 如何创建dll,以供其他语言调用?
- 使用tdump分析一个程序,这是意思?在线(except lunch time 0.5 hour)
- 各位大哥看看是什么错,我实在搞不懂
- MFC中如何将对话框中的数据传递到文档中
- 请教驱动程序开发高手!
- 取得文档指针?
- GetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE)^0x80000)的疑惑?
我把 typedef BOOL ( *BlockInput)(BOOL);该成 typedef BOOL (WINAPI *BlockInput)(BOOL);就行了