happy_10 发表于 2022-5-12 23:17

这几个区别


在KEIL定义不加储存类型DATA
如:uchari;      i是储存在RAM的低128字节中吗?
也就是uchari; 与uchar data i;是没有区别的吗

stly 发表于 2022-5-12 23:20

不一样,uchar data i 强制在i变数在data区,而uchar i,则没有强制变量的存储位置..

kangzj 发表于 2022-5-12 23:22

KEIL定义不加储存类型的变量默认在 DATA 区.

renyaq 发表于 2022-5-12 23:25

可以用编译命令更改

heweibig 发表于 2022-5-12 23:27

对,#pragma SMALL(COMPACT,LARGE)更改, 要想更详细的, 看编译手册吧

zwll 发表于 2022-5-12 23:29

uchari;如果你选择small, 就在data,如果选择compact就在pData, 如果选择large,就在xdata

yangxiaor520 发表于 2022-5-13 09:02

是不一样的噢

chuxh 发表于 2022-5-13 22:48

默认就在data区的。

supernan 发表于 2022-5-13 22:53

手册里说的详细

zhenykun 发表于 2022-5-13 22:55

加data一定在内部128里,不加的话要看编译选项和程序的大小有关系。默认在data区的说法,会出现这种情况,但不是全部都那样。

chuxh 发表于 2022-5-13 22:57

取决于当前的编译模式
在small模式下,缺省的变量定位在data空间
在compact模式下,缺省的变量定位在pdata空间
在large模式下,缺省的变量定位在xdata空间

happy_10 发表于 2022-5-13 22:59

嗯,预料中的结果,多谢大家啦

lidi911 发表于 2022-5-14 18:40

嗯,是的,那个是专用存储区域。
页: [1]
查看完整版本: 这几个区别