考虑以下代码段:
#ifdef AAA && (defined BBB)
...
#endif
gcc-4.5.2抱怨这一行:
#ifdef指令末尾的额外令牌。
合并ifdef
和defined
?
谢谢!
答案 0 :(得分:12)
#ifdef
需要一个标识符,相当于#if defined(identifier)
。
如果表达式更复杂,则需要使用#if
指令:
#if (defined AAA) && (defined BBB) // true if AAA and BBB are both defined
#if AAA && (defined BBB) // true if AAA is true and BBB is defined
答案 1 :(得分:5)
#ifdef
仅适用于一个令牌。
如果你想使用多个,那么写
#if defined(AAA) && defined(BBB)