_cdecl 和_stdcall两种函数调用方式的区别
来源:互联网
_stdcall 是Standard Call的缩写,是C 的标准调用方式:所有参数从右到左依次入栈,如果是调用类成员的话,最后一个入栈的是this指针。这些堆栈中的参数由被调用的 函数在返回后清除,使用的指令是 retn X,X表示参数占用的字节数,CPU在ret之后自动弹出X个字节的堆栈空间。称为自动清栈。函数在编译的时候就必须确定参数个数,并且调用者必须严格的 控制参数的生成,不能多,不能少,否则返回后会出错。_stdcall 是Standard Call的缩写,是C 的标准调用方式:所有参数从右到左依次入