请问struct怎么不定义为xdata

[复制链接]
3938|4
 楼主| jack.king 发表于 2010-7-19 10:52 | 显示全部楼层 |阅读模式
在keil中请问struct怎么不定义为xdata
struct{
           uchar x;
           uchar y;
          }s1;
这个可以通过编译
struct{
           uchar xdata x;
           uchar xdata y;
          }s1;
这个就不能,想问问这个是什么原因?
李冬发 发表于 2010-7-19 12:11 | 显示全部楼层
s1在idata里,x,y还能在xdata里?!
 楼主| jack.king 发表于 2010-7-19 14:16 | 显示全部楼层
本帖最后由 jack.king 于 2010-7-19 14:20 编辑

谢谢发哥。
struct{
           uchar  x;
           uchar  y;
          }xdata s1;
这么改写就好了!呵呵
snifferer 发表于 2010-8-1 13:38 | 显示全部楼层
道理很简单,这个是类型定义,它不是实例,不是说你这个数据存在什么地方.
不能使用XDATA,是因为,你的数据是相对于分配给你的内存的偏移位置而言的.
是这个意思的.
而XDATA,是告诉别人,你的数据是存放在什么地方的.
snifferer 发表于 2010-8-1 13:38 | 显示全部楼层
有需要,可以加我的QQ: 944405150
您需要登录后才可以回帖 登录 | 注册

本版积分规则

488

主题

2158

帖子

1

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