#define START_ADDR ((unsigned int*)0x08008000)
......
......
#define TST START_ADDR
......
......
#if TST==START_ADDR
......
#endif
以上预编译命令是不能被预编译器处理的,因为这里我试图在 #if 中进行强制类型转换,而这是要编译器去完成的,预编译并不知道。将代码换成如下则可以通过
#define START_ADDR (0x08008000)
......
......
#define TST START_ADDR
......
......
#if TST==START_ADDR
......
#endif