变量储存类型问题

[复制链接]
2436|10
 楼主| huwr 发表于 2011-7-11 16:33 | 显示全部楼层 |阅读模式
在KEIL定义不加储存类型DATA
如:uchar  i;      i是储存在RAM的低128字节中吗?
也就是uchar  i; 与uchar data i;是没有区别的吗
huanghuac 发表于 2011-7-11 16:46 | 显示全部楼层
不一样,uchar data i 强制在i变数在data区,而uchar i,则没有强制变量的存储位置..
happy_10 发表于 2011-7-11 16:57 | 显示全部楼层
KEIL定义不加储存类型的变量默认在 DATA 区.
happy_10 发表于 2011-7-11 17:12 | 显示全部楼层
可以用编译命令更改
冰清玉洁 发表于 2011-7-11 17:33 | 显示全部楼层
对,#pragma SMALL(COMPACT,LARGE)更改, 要想更详细的, 看编译手册吧
bananarer 发表于 2011-7-11 17:34 | 显示全部楼层
uchar  i;如果你选择small, 就在data,如果选择compact就在pData, 如果选择large,就在xdata

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
wenfen 发表于 2011-7-11 17:52 | 显示全部楼层
默认就在data区的。
zhuhuis 发表于 2011-7-11 18:06 | 显示全部楼层
手册里说的详细
chenho 发表于 2011-7-11 20:04 | 显示全部楼层
加data一定在内部128里,不加的话要看编译选项和程序的大小有关系。默认在data区的说法,会出现这种情况,但不是全部都那样。
 楼主| huwr 发表于 2011-7-11 20:19 | 显示全部楼层
嗯,明白了
syc123456 发表于 2011-7-11 21:22 | 显示全部楼层
不一样,uchar data i 强制在i变数在data区,而uchar i,则没有强制变量的存储位置..
您需要登录后才可以回帖 登录 | 注册

本版积分规则

780

主题

8627

帖子

5

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