若要启用先定义以下语句,不启用则不定义
#define LOG_ENABLE
#ifdef LOG_ENABLE
#define LOG(x) CLog::WriteLog(x);//CLog::WriteLog(x);在别处已定义
#else
#define LOG(x)
#endif
因为#define的作用是文本替换,当我们定义LOG_ENABLE时,在预处理阶段,预处理器就会自动将程序中遇到的LOG(x)替换为 CLog::WriteLog(x);经过编译后,程序在运行时,就会去调用函数CLog::WriteLog(x)
当不想使用该宏定义时,我们可以让他为空 ,在预处理阶段,预处理器则会将其替换为空语句。运行到该语句时则什么都不会发生