我在用于8051微控制器的头文件中有一段C代码,如下所示-
#define Sfr(x, y) sfr x = y
#define Sbit(x, y, z) sbit x = y^z
#define Sfr16(x,y) sfr16 x = y
/*----------------------------------------*/
/* Include file for 8051 SFR Definitions */
/*----------------------------------------*/
/* BYTE Register */
Sfr(P0 , 0x80);
Sbit (P0_7 , 0x80, 7);
Sbit (P0_6 , 0x80, 6);
编译时,出现错误
line 17: syntax error, expecting declaration
。使用宏时有任何错误吗?
最佳答案
每次使用任何宏时,它都会一遍又一遍地声明相同的变量“ x”。
也没有证据表明编译器知道sfir
或sbit
或sfr16
是什么。
关于c - 语法错误,期望在为8051微 Controller 编译C代码时看到声明,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26999354/