24小时热门版块排行榜    

查看: 478  |  回复: 3
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

千曲知音

铜虫 (初入文坛)

[交流] 【求助】关于函数返回值的问题! 已有3人参与

有人知道函数返回值存在哪吗,是主调函数数据区,还是被调函数数据区啊!关于c内存的问题讲下,谢谢!
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

holmescn

金虫 (正式写手)

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
cenwanglai(金币+2): 谢谢holmescn专家回复! 2011-03-23 23:46:43
没有进行过优化的程序,大部分返回值都是通过栈的。只有整数和地址才能用EAX返回。
3楼2011-03-22 09:28:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 4 个回答

yalefield

金虫 (文坛精英)

老汉一枚

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
cenwanglai(金币+2): 谢谢yalefield专家回复! 2011-03-23 23:46:22
这个与编译器有关。
大多数情况下,函数返回值是放在寄存器中(对Intel的x86系列来说,就是EAX)。
如果返回值本身是一个比较大的结构体,那么实际的返回值(返回结构)放在栈中,而只是把所放之处的地址记录在EAX中。
2楼2011-03-22 00:58:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见