在发行版本中调用OutputDebugString是否有大量开销?
最佳答案
已测量-10M通话大约需要50秒。我认为对于未使用的功能,这是很大的开销。
使用宏可以帮助在发行版本中摆脱这种情况:
#ifdef _DEBUG
#define LOGMESSAGE( str ) OutputDebugString( str );
#else
#define LOGMESSAGE( str )
#endif
不仅删除了调用,而且参数求值和文本字符串也被完全删除,您不会在二进制文件中看到它们。