C++ 调试时 :“Run-Time Check Failture #0”的解决方法
问题描述:
程序在调试时,弹出如下对话框:
原因分析: 这个属于典型的调用约定问题引起
检查点:
1. 动态库工程中,要设置下调用方式,如VS2008工程,点击【项目】->【属性】->【配置属性】->【C/C++】->【高级】->【调用约定】 有__cdecl (/Gd)、__fastcall (/Gr)、__stdcall (/Gz) 三种,根据调用约定选择
2. 调用工程中, typedef void (WINAPI * pIShow)(); 如果是WINAPI 那么为__stdcall (/Gz)调用约定,需要与动态库工程设置的一致才可以!