编译器对作为局部变量的数组是怎么管理的?放在堆栈中?

[复制链接]
11302|41
一般首席 发表于 2014-2-23 21:47 | 显示全部楼层
全都是高手啊
xinzha 发表于 2014-2-24 09:21 | 显示全部楼层
xlander 发表于 2008-1-4 15:03
我用的是ARM,环境是ADS1.2.尤其是大数组。干脆出几个例子好了。char c;char d[1000];void  ...

c和d在bss,a也在bss,因为它们都符合bss段的要求,static或者是没有初值的全局变量。
b要看情况,如果程序简单,用的中间变量不多,可能直接就在寄存器里操作了,干脆都不进入内存,而如果程序很复杂,通用寄存器不够的情况下,则也有可能b在需要的时候压进栈。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部