【发布时间】:2016-03-17 09:04:48
【问题描述】:
我发现可以通过这种方式使用命令#if defined(STUFF) 组合多个#ifdefs:
#if defined(_BLA1) || defined(_BLA2)
或
#if defined(_BLA1) && defined(_BLA2)
但是我可以使用括号来组合更精细的定义吗,例如:
#if (defined(_BLA1) || defined(_BLA2)) && (defined(_BLA3) || defined(_BLA4))
?
【问题讨论】:
-
询问编译器,而不是堆栈溢出。
-
@YSC 我不太确定。仅仅因为某些事情被认为是简单的,并不意味着它在这里不受欢迎。您使用编译器观察到的内容与标准所保证的内容之间存在很大差异(诚然,这使得当前的答案很糟糕)。提问者显然不得不停下来思考这个问题,来到这里寻找答案并没有找到答案,所以试图在这里扩展有用的知识。然而,我也不能完全赞成它,因为它似乎应该可以通过搜索(SO 或 Google)来回答。
标签: c++ conditional-compilation