【C++】调用约定+返回值的返回方式

【C++】调用约定+返回值的返回方式

调用约定

①_cdecl C标准调用约定

调用方开辟内存,调用方清理

②_stdcall Windows标准调用约定

调用方开辟内存,被调用方清理

③_fastcall 快速调用约定

最多使用2个寄存器代入实参,其他参数和_stdcall的处理方式相同

即:调用方开辟内存,被调用方清理

④_thiscall 成员方法的调用约定

调用约定约定了三方面内容:

1、函数符号的生成

扫描二维码关注公众号,回复: 4267099 查看本文章

2、实参的入栈顺序(从右向左入栈)

3、形参开辟和清理方式

返回值的返回方式

1、返回值如果>0个字节,<4个字节,由1个寄存器eax带回

2、返回值如果>4个字节,由2个寄存器eax、edx带回(在调用方带出,做了一个副本)

3、返回值如果>8个字节,由临时量带回来

猜你喜欢

转载自blog.csdn.net/VVVv_0427/article/details/84073053