具体的错误提示是: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.
查找了一些资料,看过专家的blog,知道发生这样的错误原因有如下几种:
1)函数调用约定不一样。用cdecl约定调用了Pascal的函数,或倒过来。
2)Dll中遇到的问题。dll更新了,但是相应的exe或别的dll的使用方没有更新。(此问题又称dll地狱问题)
比如,我用的dll更新了,但是头文件跟lib库都没有更新,于是出现那个错误了。
唉,夏天来了,地铁里的咸猪手也多了起来,我要随身带把匕首,以备不时之需。