求助:keil中编译xdata的问题
xxx.c中-----------------------------------include"xxx.h"
int8u xdata TempBuff;
xxx.h中-----------------------------------
extern int8u TempBuff;
编译出现错误,说是TempBuff重复定义了,但事实上应该是没有重复定义的。把xdata删除或者改成data就通过编译了。
请各位大虾指点 1,extern int8u xdata TempBuff;
定义的变量在外部存储区,
声明的变量却在内部存储区,
如果不报错就是编译器有问题
2,把xdata删除或者改成data就通过编译了
C51的变量默认存储在内部数据存储区,也就是说默认的关键字是data
char i 跟 char data i 是等价的
你把xdata删除或者改成data就是把变量定义在内部数据存储区了 已经搞定了,原来.C和.H必须同时为xdata
xxx.c中-----------------------------------
include"xxx.h"
int8u xdata TempBuff;
xxx.h中-----------------------------------
extern int8u xdata TempBuff;
这样就通过编译了
谢谢大家 LZ 在百度或者论坛里面搜索
Keil–C51 编译器用户手册
好好看看吧,很有用的
上传过很多回了就不再上传了 定义和声明一致就OK。 又会一点,{:tongue:}
页:
[1]