提问人:Dominykas 提问时间:9/19/2023 最后编辑:πάντα ῥεῖDominykas 更新时间:9/19/2023 访问量:30
#if 和 #elif 在 CPP 中无法按预期工作
#if and #elif doesn't work as intended in Cpp
问:
我正在尝试使用某种简单的方法来定义我使用的 mcu,并且通过定义 mcu,应该包含不同的头文件。我尝试用 和指令来做:#if
#elif
#include "Parameters.h"
#if MCU_IN_USE == ESP32_S3_MINI_1
#include "ESP32_S3_MINI_1_PINOUT.h"
#elif MCU_IN_USE == ESP32_S3_WROOM
#include "ESP32_S3_WROOM_PINOUT.h"
#endif
在文件中,我这样定义 MCU:Parameters.h
//#define MCU_IN_USE ESP32_S3_MINI_1
#define MCU_IN_USE ESP32_S3_WROOM
我计划取消注释我使用的那个并注释另一个,但问题是无论哪个定义是未注释的,即使我使用定义,我总是在语句中获得第一个选项:#if
#elif
是什么导致了这个问题?
答:
0赞
Dominykas
9/19/2023
#1
所以基本上我定义为什么都没有,它不是常量或字符串或任何东西,它只是一个空的定义。我不知道我为什么要这样做,因为它是超级基本的错误,但通过包含这个来修复它MCU_IN_USE
ESP32_S3_WROOM
ESP32_S3_WROOM
#define ESP32_S3_MINI_1 0
#define ESP32_S3_WROOM 1
上一个:函数返回执行策略的任何方法?
评论
ESP32_S3_MINI_1
ESP32_S3_WROOM