为了进行调试,我在应用程序中调用了许多调试日志函数.当然,在生产版本中,需要跳过这些调试调用.而不是写:
#if DEVEL == 1 Log::debug(...); #endif
围绕调试函数的所有调用,我决定在调试函数本身中编写以下内容:
#if DEVEL != 1 return; #endif
解决方法
你可以做一个简单的伎俩,而不是担心优化器:
#if DEVEL == 1 #define LOG_DEBUG(...) Log::Debug(__VA_ARGS__) // variadic macro #else #define LOG_DEBUG #endif
现在到处使用LOG_DEBUG来保持简单.