_Debug
(或自定义名称)宏来保护调试线,效果很好。
但是,我不想为每个函数/操作调用编写每个处理器的防护,就像在 C++ 调试文件中编写一样。
Edit: Thanks for response, If I can create macro function that guards itself while expending like :
DBG_PRINT(fname,msg)\ #ifdef _Debug\ fprintf(fname, msg)\ #endif
.
请建议我一些干净且单线的出路。
谢谢,编码愉快
最佳答案
预处理器指令是执行此操作的唯一方法,如果您将调试调用包装在具有主体 ifdefine 的通用方法中,则可以清理代码并避免 ifdef 调试放在代码中的任何位置,但没有无需宏或预处理器检查即可完成此操作的方法。
关于c++ - 消除发布代码 C++ 中的调试代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30645370/