return机制

本文探讨了编译器如何处理函数返回值,包括小于4字节的对象如何被放入EAX寄存器,以及有时通过增加返回值地址参数来构造返回值的策略。这些细节依赖于编译器的具体实现。

参考:https://www.cnblogs.com/wgang171412/p/5019148.html

讨论:https://bbs.youkuaiyun.com/topics/380099701

 

摘取两条:

return返回值放在寄存器或者栈上。
比如小于4个字节的返回值对象,vc会放入eax

return返回值有时候用寄存器返回。
有时候增加一个返回值地址作为参数,然后在那里构造返回值。
 刚刚看了一下调用约定的说明,好像没有说到返回值的问题。
这个取决于编译器的实现吧。如果是我写编译器的话,可能会把返回值放在堆栈顶部。

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值