c++ - 消除发布代码 C++ 中的调试代码

标签 c++ c c-preprocessor

正如标题所示,我的基本目标是在编译前进行扩展时,在发布代码中删除调试代码。目前,我正在使用 _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/

相关文章:

c++ - GetPrivateProfileStringA() 切断我的配置值编号

c++ - C++中未分配对象的垃圾收集

c - 如何将 char 数组转换为 unsigned int?

c - 大多数嵌入式 C 编译器如何为内存映射 I/O 定义符号?

c++ - 使用 #ifdefs 和 #define 可选择将函数调用转换为注释

c++ - 为什么在多次或仅一次调用 CreateProcess 时会恰好泄漏两个句柄?

c++ - 如何从.cpp文件和makefile编译程序

java - 两个整数乘积的模数

遍历列表时出现 C 段错误

整个程序中__TIME__的常量值