形参占内存吗?

2020-01-27 11:21发布

小弟初学51,用keil。请教各位大侠!

void USART_Init(unsigned char Baudrate);
void USART_Init(unsigned char Baudrate)
{
/*省略*/
}

Program Size: data=10.0 xdata=0 code=93


void USART_Init(unsigned long Baudrate);
void USART_Init(unsigned long Baudrate)
{
/*省略*/
}

Program Size: data=13.0 xdata=0 code=105

请教给位大侠!形参也占内存吗!?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
10条回答
happy521837
2020-01-28 02:36
chenxujiaoyang 发表于 2013-9-3 20:59
函数调用时,参数被压入栈内存,多个参数的压栈顺序要参考具体的调用规则。 ...

我刚才查阅了一些资料,形参占用内存,那编译代码的时候,就会占用data区,但是有时候发现形参及局部变量加一起小于四个字节的时候,编译的时候却不增加data区,是因为编译器将其优化的通用寄存器,没有占用新的内存。是这样的吗?前辈?

一周热门 更多>