C / C:检测调试/发布的便携方式?

新手上路,请多包涵

是否有一个标准化的(例如由所有主要编译器实现的)#define 可以让我区分调试和发布版本?

原文由 sivabudh 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 247
1 个回答

如果相信

 #ifdef NDEBUG
  // nondebug
 #else
  // debug code
 #endif

是最便携的。

但是 没有 编译器知道你是在编译调试还是发布,所以这不是自动的。但是这个是 assert.h 在 c-runtime 中使用的,所以它很常见。 Visual Studio 会设置它,我相信大多数其他 IDE 也会设置它。

原文由 John Knoeller 发布,翻译遵循 CC BY-SA 2.5 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题