define 的作用范围是 从文件的定义的位置 到文件的结尾
文件开头
void gps_module(void)
{
debug_rmc(); //错误调试内容
rmc_to_gps();
}
```c
void debug_rmc(void)
{
#define DEBUG_GPS_RMC
}
void rmc_to_gps(void)
{
#ifdef DEBUG_GPS_RMC
strcpy( (char*)gps.gps_rmc, (const char*)str1); //不会进到这里执行
#endif
}
文件结尾
当执行gps_module()不会执行strcpy( (char*)gps.gps_rmc, (const char*)str1);
解决办法
把void rmc_to_gps(void)函数放到文件的开头