在发行版本中调用OutputDebugString是否有大量开销?

最佳答案

已测量-10M通话大约需要50秒。我认为对于未使用的功能,这是很大的开销。

使用宏可以帮助在发行版本中摆脱这种情况:

#ifdef _DEBUG
    #define LOGMESSAGE( str ) OutputDebugString( str );
#else
    #define LOGMESSAGE( str )
#endif

不仅删除了调用,而且参数求值和文本字符串也被完全删除,您不会在二进制文件中看到它们。

09-11 19:57