C #ifndef指令的使用
我试着使用下面的#ifndefC #ifndef指令的使用,c,gcc,C,Gcc,我试着使用下面的#ifndef #ifndef MACRO1 || #ifndef MACRO2 .... #endif 我已经试过了: #ifndef (MACRO1 || MACRO2) .. #endif 但在这两种情况下,我的错误率都很低 错误:#ifndef指令末尾的额外令牌 请改用#if预处理器指令: #if !defined(MACRO1) || !defined(MACRO2) 请改用#if预处理器指令: #if !defined(MACRO1) || !defined(
#ifndef MACRO1 || #ifndef MACRO2
....
#endif
我已经试过了:
#ifndef (MACRO1 || MACRO2)
..
#endif
但在这两种情况下,我的错误率都很低
错误:#ifndef指令末尾的额外令牌
请改用#if
预处理器指令:
#if !defined(MACRO1) || !defined(MACRO2)
请改用#if
预处理器指令:
#if !defined(MACRO1) || !defined(MACRO2)
您可以在预处理器指令中使用逻辑运算符,但要检查已定义的内容,请使用
已定义的
指令:
#if !defined MACRO1 || !defined MACRO2
....
#endif
您可以在预处理器指令中使用逻辑运算符,但要检查已定义的内容,请使用
已定义的
指令:
#if !defined MACRO1 || !defined MACRO2
....
#endif
您可以使用以下代码
#if !defined(MACRO1) || !defined(MACRO2)
#endif
您可以使用#if指令中定义的运算符来使用
在预处理器行中计算为0或1的表达式
您可以使用以下代码
#if !defined(MACRO1) || !defined(MACRO2)
#endif
您可以使用#if指令中定义的运算符来使用
在预处理器行中计算为0或1的表达式
#ifdef
和#ifndef
是#if定义(…)
和#if!已定义(…)
。但是,它们只能用于单个宏,不允许进行逻辑操作。因此,如果检查多个宏,请使用#if
和defined()
操作符。作为常规运算符,它可以与逻辑运算相结合,如!defined()
已经有了。\ifdef
和\ifndef
是\if defined(…)
和\if!已定义(…)
。但是,它们只能用于单个宏,不允许进行逻辑操作。因此,如果检查多个宏,请使用#if
和defined()
操作符。作为常规运算符,它可以与逻辑运算相结合,如!已定义()
已定义