#ifdef 标识符
程序段1
#else
程序段2
#endif
书上说命令的功能是:如果指定的标识符已被定义,则程序段1参加编译并产生有效代码,否则程序段子参加编译。
举例:
#define CPU 8051
#ifdef CPU
#define FREQ 6
#else
#define FREQ 12
#endif
书上说这后面的源程序不作任何修改就可以适用于两种时钟频率的单片机系统。
我的问题是为什么只定义了一个#define CPU 8051,就可以适用二两种时钟频率,即CPU被定义了,那么它不执行了#define FREQ 6这段代码,而未执行#define FREQ 12代码吗?小弟还是搞不懂,望各位前辈指点指点 |