发新帖我要提问
123
返回列表
打印

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

[复制链接]
楼主: xlander
手机看帖
扫描二维码
随时随地手机跟帖
41
一般首席| | 2014-2-23 21:47 | 只看该作者 回帖奖励 |倒序浏览
全都是高手啊

使用特权

评论回复
42
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在需要的时候压进栈。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则