C预处理器指令,这是正确的语法吗? #Ifdef foo ||酒吧

时间:2013-07-02 13:20:04

标签: 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

以我的方式使用||语法是否正确?

2 个答案:

答案 0 :(得分:1)

我可以向你保证至少

#if defined(SPEC_CONTROL) || defined(SPEC_A_CONTROL)

适用于Windows和多个UNIX平台。我不确定

#ifdef SPEC_CONTROL || SPEC_A_CONTROL

答案 1 :(得分:1)

您可以使用if defined指令在C预处理程序指令中使用布尔逻辑。

有关更多信息,请参阅此帖子: C Preprocessor testing definedness of multiple macros