C ++返回值存储在堆栈框架中

问题描述

int f(int a,int b){
    return a+b;
}

int main(){
    f(1,2);
}

在此示例中,当调用函数f时,没有特定的变量存储a b的相加结果。我的问题是:a+b的结果将存储在哪里?

解决方法

它将被移至临时寄存器。
它将加载值,然后调用f(int,int) 看一下反汇编: enter image description here