图一 Warning
图二 NoWarning
Keil中出现warning: #160-D: unrecognized #pragma这样的错误怎么解决?
答:每一种开发环境支持的#pragma是不一样的。不支持的就不能用了,例如图一中的message。
Keil编译代码时可选的警告类型很多,针对同一套代码,不同的警告代码设置下,编译器编译后给出的警告不同。
基于这一点,调试时完全可以故意让编译器报错来告知你其它信息,例如:当代码中有多个条件编译时,你想知道你的编译器是否按照你的意愿在执行,故可在每个宏之前加入不同的警告信息,从而根据编译后的警告信息来得知代码的执行方式。
例如有三个关于串口的宏,每个宏条件下串口处理的方式不一样。
xx.h文件中宏定义:
#define NIBP_CLINIC
#define UART_CMD