打印

编译出来的字节数和程序不同,为什么RW-data=0

[复制链接]
970|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wangluoyxdl|  楼主 | 2014-7-20 14:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
程序如下:
#include<LPC23xx.h>
int main()
{
        unsigned long num0=0,num1=1,num2=2,num3=3;
        while(1)
        {
                num0++;
                num1++;
                num2++;
                num3++;
        }
}

编译结果如下:
Program Size: Code=1064      RO-data=16      RW-data=0     ZI-data=1384  

按道理num1,num2,num3加起来一共12个字节啊,为什么RW-data=0

相关帖子

沙发
wangluoyxdl|  楼主 | 2014-7-20 14:08 | 只看该作者
求大神解答

使用特权

评论回复
板凳
aozima| | 2014-7-20 17:45 | 只看该作者
本帖最后由 aozima 于 2014-7-20 17:46 编辑

numx在栈中,栈在ZI中。(GCC中管ZI叫BSS)
你把numx移到全局变量处再对比观察。
然后就是学会看map文件

使用特权

评论回复
地板
ayb_ice| | 2014-7-21 17:03 | 只看该作者
没有全局变量定义,

使用特权

评论回复
5
jplzl| | 2014-7-23 11:10 | 只看该作者
起码要知道这里显示的
Code=1064      
RO-data=16      
RW-data=0     
ZI-data=1384
这几个东西的意思吧

使用特权

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

本版积分规则

1

主题

2

帖子

1

粉丝