weilj123 发表于 2010-3-18 12:01

#define使用问题

我在头文件里有如下定义#definePC8255   XBYTE;
在函数中我如下应用:PC8255 = PC8255 | 0x01;
发现错误,不知道是否应用有问题,使用环境为:KEIL

zq1987731 发表于 2010-3-18 12:38

#definePC8255   XBYTE;
替换出来的是:
XBYTE; = XBYTE; | 0x01;

weilj123 发表于 2010-3-18 12:51

这样是对的,但是不太好看,记得在哪见过,可以这样使用的吧PC8255 = PC8255 | 0x01;

HWM 发表于 2010-3-18 13:03

把“#definePC8255   XBYTE;”中的分号“;”去掉。你这样经预处理后变成了如下这副模样自然有错。

   XBYTE; = XBYTE; | 0x01;

另,整个说明应该是:

xdata char XBYTE; // N 为 常量
#definePC8255   XBYTE

weilj123 发表于 2010-3-18 17:12

HWM,谢谢了,是这个问题,向您学习。

后学 发表于 2010-3-19 08:21

1、分号;
2、替换的部分最好括号;

afei9527 发表于 2010-3-21 20:17

:)
页: [1]
查看完整版本: #define使用问题