打印
[其它应用]

这几个区别

[复制链接]
1120|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
happy_10|  楼主 | 2022-5-12 23:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

在KEIL定义不加储存类型DATA
如:uchar  i;      i是储存在RAM的低128字节中吗?
也就是uchar  i; 与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 | 只看该作者
可以用编译命令更改

使用特权

评论回复
5
heweibig| | 2022-5-12 23:27 | 只看该作者
对,#pragma SMALL(COMPACT,LARGE)更改, 要想更详细的, 看编译手册吧

使用特权

评论回复
6
zwll| | 2022-5-12 23:29 | 只看该作者
uchar  i;如果你选择small, 就在data,如果选择compact就在pData, 如果选择large,就在xdata

使用特权

评论回复
7
yangxiaor520| | 2022-5-13 09:02 | 只看该作者
是不一样的噢

使用特权

评论回复
8
chuxh| | 2022-5-13 22:48 | 只看该作者
默认就在data区的。

使用特权

评论回复
9
supernan| | 2022-5-13 22:53 | 只看该作者
手册里说的详细

使用特权

评论回复
10
zhenykun| | 2022-5-13 22:55 | 只看该作者
加data一定在内部128里,不加的话要看编译选项和程序的大小有关系。默认在data区的说法,会出现这种情况,但不是全部都那样。

使用特权

评论回复
11
chuxh| | 2022-5-13 22:57 | 只看该作者
取决于当前的编译模式
在small模式下,缺省的变量定位在data空间
在compact模式下,缺省的变量定位在pdata空间
在large模式下,缺省的变量定位在xdata空间

使用特权

评论回复
12
happy_10|  楼主 | 2022-5-13 22:59 | 只看该作者
嗯,预料中的结果,多谢大家啦

使用特权

评论回复
13
lidi911| | 2022-5-14 18:40 | 只看该作者
嗯,是的,那个是专用存储区域。

使用特权

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

本版积分规则

744

主题

7973

帖子

6

粉丝