cdecl:c declare(c调用约定)的缩写,是c和c++程序的缺省调用方式,规则是,从右向左的顺序压参数入,由调用者把参数弹出栈,对于传入参数的内存栈是由调用者来维护的,正因为如此,只有这种调用方式可以实现个数不定的入口参数(可变参数),,实现可变参数可以使用VA_LIST,详见博客中其他文章。
stdcall:是pascal程序的缺省调用方式,规则是,按从右向左的顺序入栈,被调用的函数在返回前清理传送参数的内存栈。此方式是MFC的默认方式
上两者的主要区别是前者由调用者清理栈,后者由被调用的函数清理栈。当然函数名的修饰部分也是不同的。
fastcall:采用寄存器传递参数,特点就是快了。