首 页文章中心下载中心繁體中文
设为首页
加入收藏
联系我们
您当前的位置:开源盛世-源代码下载网 -> 文章中心 -> VC++专区 -> 文章内容 退出登录 用户管理
投票调查
栏目导航
· VC++专区 · V B 专区
· GIS 专区 · PDA 专区
· 其他编程 · 网站开发类
· 数据库类 · 软件应用
· 网络安全 · 论文专区
· 综合资讯
热门文章
· Tab Control控件使用...
· 学生档案管理系统
· [图文] 排列组合公式
· UTF-8与GB2312之间的...
· DirectShow下载安装...
· Virtual PC 在PAE模...
· Windows2000终端服务...
· MapInfo上的GIS系统...
· kalman filter 卡尔...
· Windows2000终端服务...
相关文章
VC中Run-Time Check Failure #0错误是怎么回事?
作者:Polaris  来源:开源盛世-源代码下载网  发布时间:2005-5-22 16:13:51  发布人:Polaris

减小字体 增大字体

在VC中编写多线程程序,特别是调用DLL时经常碰到如下错误:

Run-Time Check Failure #0 - 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.

这是怎么回事,如何解决?

答:函数定义的调用规则,和实际的调用规则不同。如 __stdcall 类型的函数却用 __cdecl 的调用规则。极可能是其中一个函数指针有问题。

编译器默认的是__cdecl,而函数指针是由void*传进去的__stdcall方式,由于编译时不会报错,结果出现了运行时异常。

所以把在函数定义中进行设置调用规则即可解决该问题。如:

  typedef bool(__stdcall GetFirstMessage)(char *, int *, char *, int, int *);

End of《VC中Run-Time Check Failure #0错误是怎么回事?》

[] [返回上一页] [打 印] [收 藏]
上一篇文章:ASCⅡ码表
 
∷相关“VC中Run-Time Check Failure #0错误是怎么回事?”文章评论∷
(评论内容只代表网友观点,与本站立场无关!) [更多评论...]
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站目录 鄂ICP备06007162
开源盛世 版权所有Copyright © 2003-2005 VSCodes.Com. All Rights Reserved.