#ifdef NDEBUG // nondebug #else // debug code #endif
是最便携的.
但没有编译器知道您是否正在编译调试或发布,所以这不是自动的.但是这个在c运行时被assert.h使用,所以很常见. Visual Studio将设置它,我确定大多数IDE的意志以及.