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

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

调用约定

①_cdecl C标准调用约定

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

②_stdcall Windows标准调用约定

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

③_fastcall 快速调用约定

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

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

④_thiscall 成员方法的调用约定

 

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

1、函数符号的生成

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

3、形参开辟和清理方式

返回值的返回方式

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

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

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值