C预处理器指令,这是正确的语法吗#Ifdef foo||bar
我有一个预处理器指令C预处理器指令,这是正确的语法吗#Ifdef foo||bar,c,syntax,C,Syntax,我有一个预处理器指令 //#define SPEC_CONTROL // Is not defined, but can be if need be #define SPEC_A_CONTROL // Is defined #ifdef SPEC_CONTROL || SPEC_A_CONTROL ; // do something #else ; // do something else #endif 像我这样使用|的语法正确吗 我至少可以向你保证 #if define
//#define SPEC_CONTROL // Is not defined, but can be if need be
#define SPEC_A_CONTROL // Is defined
#ifdef SPEC_CONTROL || SPEC_A_CONTROL
; // do something
#else
; // do something else
#endif
像我这样使用
|
的语法正确吗 我至少可以向你保证
#if defined(SPEC_CONTROL) || defined(SPEC_A_CONTROL)
适用于Windows和多个UNIX平台。我不确定
#ifdef SPEC_CONTROL || SPEC_A_CONTROL
通过使用
if defined
指令,可以在C预处理器指令中使用布尔逻辑
有关更多信息,请参阅本文:
尝试过,没有出现错误,但代码没有像我想象的那样工作。我只是需要一次精神检查。这会很有帮助。对于此类问题,您可以在if和else中始终使用#error 0、#error 1或#warning来查看预编译器到底包含了什么。这就是我一直在寻找的。现在编译器把所有其他的都称为错误,但奇怪的是,当它们都像我看到的那样时,它还可以吗?好了,现在我又可以搬家了谢谢!