编译器为什么要为函数参数生成临时副本?解决办法

编译器为什么要为函数参数生成临时副本?如题!谢谢![解决办法]a---------栈b.---------call函数时候编译

编译器为什么要为函数参数生成临时副本?
如题!
谢谢!

[解决办法]
a <---------栈
b
. <---------call函数时候编译器在主栈上"下拉"一些空间,当然还要保存相关的寄存器
.
.
.
push a <--------所谓的副本
push b
call fun1 <---------函数


[解决办法]
有些语言是直接拿实参来用的,比如 fortran77。这两种方法各有忧劣