【发布时间】:2015-06-04 13:39:29
【问题描述】:
如标题所示,我的基本目标是在编译前扩展时,在发布代码中删除调试代码。目前,我使用_Debug(或自定义名称)宏来保护调试行,它工作得很好。
但是,我不想为每个函数/操作调用编写每个处理器的保护,就像在 C++ 调试文件中编写一样。
编辑:感谢您的回复,如果我可以创建宏功能来保护自己,同时像这样:
DBG_PRINT(fname,msg)\ #ifdef _Debug\ fprintf(fname, msg)\ #endif。
请给我建议一些干净且单线的出路。
感谢和快乐编码
【问题讨论】:
-
在 Release 版本中将 _Debug 宏定义为空。
-
如果没有定义的守卫,你将如何定义“调试线”?
-
@AlexM.: 是的——将“调试行”本身设为宏。
-
感谢
Debug macro..链接。我得到了那个问题的答案:供其他人参考:#ifdef _DEBUG #define D(x) x #else #define D(x) #endif 这将在发布中扩展为空,并且在调试中可以正常工作:)。跨度>
标签: c++ c c-preprocessor