我在用于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”。

也没有证据表明编译器知道sfirsbitsfr16是什么。

关于c - 语法错误,期望在为8051微 Controller 编译C代码时看到声明,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26999354/

10-09 09:17