我在类里面看到有一段定义为
#if CC_USE_MEM_LEAK_DETECTION
static void trackRef(Ref* ref);
static void untrackRef(Ref* ref);
#endif
然后 CC_USE_MEM_LEAK_DETECTION 的宏是这样声明的
#define CC_USE_MEM_LEAK_DETECTION 0
那上面那个if不就是永远为假吗?
这样做肯定有他的道理的,求大神解释。
我在类里面看到有一段定义为
#if CC_USE_MEM_LEAK_DETECTION
static void trackRef(Ref* ref);
static void untrackRef(Ref* ref);
#endif
然后 CC_USE_MEM_LEAK_DETECTION 的宏是这样声明的
#define CC_USE_MEM_LEAK_DETECTION 0
那上面那个if不就是永远为假吗?
这样做肯定有他的道理的,求大神解释。
那种宏起到一种控制作用,例如 #define CC_USE_MEM_LEAK_DETECTION 1 ,
#if CC_USE_MEM_LEAK_DETECTION
static void trackRef(Ref* ref);
static void untrackRef(Ref* ref);
#endif
就会执行。
作用相当于一个开关,根据你的需要更改宏的定义,执行相应的处理。