TI中文支持网
TI专业的中文技术问题搜集分享网站

请问C程序中的局部变量,传递参数等,是和中断的堆栈交叉连续放在同一个栈空间吗?

请问C程序中的局部变量,传递参数等,是和中断的堆栈交叉连续放在同一个栈空间吗?中断重入时,中断内各函数的局部变量会发生覆盖吗?谢谢!

Eric Pei:

或者说局部变量是在进入函数的时候,动态在stack分配的空间吗?然后每次运行时stack位置不同,分配的地址也不同?自动变量存在于堆栈?

请问C程序中的局部变量,传递参数等,是和中断的堆栈交叉连续放在同一个栈空间吗?中断重入时,中断内各函数的局部变量会发生覆盖吗?谢谢!

Eric Pei:

回复 Jones Chen:

非常感谢您的回答,我说的中断重入的意思是指,某一中断发生了,中断服务程序中又打开它自身的中断使能,在它退出前它本身的下一个中断又进来了,发生了中断嵌套但嵌套的是自身。按您上边说的局部变量在stack中的话,就不会覆盖的,谢谢!

赞(0)
未经允许不得转载:TI中文支持网 » 请问C程序中的局部变量,传递参数等,是和中断的堆栈交叉连续放在同一个栈空间吗?
分享到: 更多 (0)