Fork me on GitHub

STM32学习笔记-宏定义引起的问题

STM32学习笔记-宏定义引起的问题

1. 问题描述

使用这样的宏定义

#if GPS_MODULE_TYPE == GPS_UM220
#define LWGPS_CFG_STATEMENT_GPSTIME           1
#define LWGPS_CFG_STATEMENT_BDSTIME           1
#endif

在另外一个头文件中定义如下语句

#if GPS_MODULE_TYPE == GPS_UBLOX

文件一没有包含文件二,编译没有报错也没有警告,但是发现

#define LWGPS_CFG_STATEMENT_GPSTIME           1
#define LWGPS_CFG_STATEMENT_BDSTIME           1

这两句话被定义,编译器自动将#if GPS_MODULE_TYPE == GPS_UM220翻译为TRUE

2. 解决

将头文件使用在同一个头文件中,凡是涉及到头文件应用的文件必须全部包含此头文件

posted @   一地鸡毛-  阅读(173)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示