晕死,这是什么调用?
whoo 2003-04-17 06:59:45 一个Dll的函数,在原来的程序中声明为stdcall.一切正常。
但是在新的工程中,stdcall报调用声明错,改成cdecl后正常。
但是release的时候发现 访问非法,跟踪发现堆栈一团糟。怀疑是调用声明的问题。
下面是dll函数的调用方式:
参数从左到右入栈,函数开始保存esp, 结束前回复esp, ret结束。
我跟踪我的函数,发现跟cdecl 类似。但是cdecl 最后是 ret xx 结束。返回一个栈偏移值。
而他的是ret返回。 这是什么调用???