C++ return 堆栈帧中的值存储
C++ return value storage in a stack frame
int f(int a, int b){
return a+b;
}
int main(){
f(1,2);
}
在这个例子中,调用函数f
时,没有特定的变量存储a
和b
的加法结果。我的问题是:a+b
的结果将存储在哪里?
它将被移动到临时寄存器。
它将加载值,然后调用 f(int,int)
看看反汇编:
int f(int a, int b){
return a+b;
}
int main(){
f(1,2);
}
在这个例子中,调用函数f
时,没有特定的变量存储a
和b
的加法结果。我的问题是:a+b
的结果将存储在哪里?
它将被移动到临时寄存器。
它将加载值,然后调用 f(int,int)
看看反汇编: