//initial code:
#define MYDEBUG YES
#if (defined(MYDEBUG) && MYDEBUG == YES)
#define NATIVEUNITID @"unitid_debug"
#else
#define NATIVEUNITID @"unitid_release"
#endif
//somewhere inside the code
NATIVEUNITID
是@"unitid_release"
可能是我不明白的东西。但为什么?什么是正确的定义方式
NATIVEUNITID
使用其他定义?
我已经尝试了#if (MYDEBUG)
和#if (MYDEBUG == true)
,但我获得了相同的结果。
请帮助我理解这个简单的案例。我怎么才能收到
NATIVEUNITID
是@"unitid_debug"
?
答案 0 :(得分:1)
预处理器无法为"字符串"评估==
。
如果你写#DEFINE YES 1
答案 1 :(得分:0)
#if !defined(YES)
#define YES (BOOL)1
#endif
#if !defined(NO)
#define NO (BOOL)0
#endif
前
#define MYDEBUG YES