【C++】调用约定+返回值的返回方式
调用约定
①_cdecl C标准调用约定
调用方开辟内存,调用方清理
②_stdcall Windows标准调用约定
调用方开辟内存,被调用方清理
③_fastcall 快速调用约定
最多使用2个寄存器代入实参,其他参数和_stdcall的处理方式相同
即:调用方开辟内存,被调用方清理
④_thiscall 成员方法的调用约定
调用约定约定了三方面内容:
1、函数符号的生成
2、实参的入栈顺序(从右向左入栈)
3、形参开辟和清理方式
返回值的返回方式
1、返回值如果>0个字节,<4个字节,由1个寄存器eax带回
2、返回值如果>4个字节,由2个寄存器eax、edx带回(在调用方带出,做了一个副本)
3、返回值如果>8个字节,由临时量带回来