1、函数调用方式
函数调用约定的方式有_cdcel
、_stdcall
、_fastcall
(1)约定了符号的生成规则
(2)约定了入栈顺序
2、形参内存的开辟和清理
int Sum(int a, int b)
{
return a + b;
}
int main()
{
int a = 10;
int b = 20;
Sum(a, b);
return 0;
}
(1)_cdcel
在调用方开辟,调用方清理
(2)_stdcall
在调用方开辟,被调用方清理
(3)_fastcall
没有开辟形参内存,是由寄存器直接将值带入调用方。但如果是三个及三个以上的参数,则会出现前两个形参是由寄存器带入被调用方,没有内存开辟,而最之后一个形参是由调用方开辟,被调用方清理。