xinyuan123 发表于 2018-11-23 09:28:57

关于8051架构内data, xdata, code的使用

工作上使用n76E003作为项目的单片机,程序写得有点大,需要扩展额外的内存空间,因此用上了data, xdata和code等内存段。
今天看到了这两个变量的定义,
xdata uint_8 m;
uint_8 xdata m;
试问:这两个变量的定义有什么区别?

qq335702318 发表于 2018-11-23 09:29:42

没有区别

laujc 发表于 2018-11-23 10:05:04

xdata uint_8 m;这个是让编译器将变量放外部RAM

laujc 发表于 2018-11-23 10:05:45

本帖最后由 laujc 于 2018-11-23 11:47 编辑

回答错了,所以删掉,免得误导其他人。。。抱歉

kebaojun305 发表于 2018-11-23 10:14:03

xdata访问慢。code就是放在flash中

laoshuhunya 发表于 2018-11-23 11:42:46

在声明器中,类型名、类型限定符、存储类别指定符可以按任意次序出现,指针声明除外。

laujc 发表于 2018-11-23 11:46:23

这两种定义方法,没有区别。

honeybear 发表于 2018-11-23 12:10:56

没有区别,好久没有用51系列的了,都快忘记了

stt1990511 发表于 2018-11-23 12:12:26

没什么区别 一样

t3486784401 发表于 2018-11-23 12:21:58

没区别,这又不是指针

xyz543 发表于 2018-11-26 11:50:53

楼主就您的那两行看来,只是描述前后调换,事实上是没有区别的。

xinyuan123 发表于 2018-11-26 12:31:16

本帖最后由 xinyuan123 于 2018-11-26 12:32 编辑

谢谢大家的回复,刚好从keil编译器手册里面看到了,内容如下:
页: [1]
查看完整版本: 关于8051架构内data, xdata, code的使用