一、调用约定
注:Sum表示函数名,红色字母表示调用约定,第一个H表示函数返回值类型为int,第二三个H表示形参类型为int
1.__cdcal:c标准调用约定 //?Sum@@YAHHH@Z
__cdecl由调用方进行形参开辟栈区,参数从右至左入栈,然后由调用者清理栈区。
2.__stdcall:windows调用约定 //?Sum@@GZ
__stdcall由调用方进行形参开辟栈区,参数从右至左入栈,然后由被调用方用者清理栈区。
3.__fastcall:快速调用约定 //?Sum@@YIHHH@Z
4.__thiscall:成员方法的调用约定
二、返回值的返回方式
一个寄存器默认可存储4字节大小
1.返回值大于0字节且小于等于4字节,则用一个寄存器eax返回;
2.返回值大于4字节且小于等于8字节,则用两个寄存器eax,ebx返回;
3.大于8字节,则由调用方临时量带出来
三、函数的默认值
1.从右向左一次赋默认值;
2.默认值只能赋一次;
3.一般在声明上赋默认值。