以vs2013为例,有时候为了编译一些调试代码,但并不希望这些代码在Release时被编译运行。其实C++提供了这样的机制,那就是条件编译。 我们可以这样做:
如上图所示,在Realease模式下,编译器自动为我们编译了“NDEBUG”宏,这个宏在Release模式下是默认被define过的。好,根据这一点,我们就可以做手脚了,上代码:
#ifndef NDEBUG
int a =
1;
int b =
2;
#endif //NDEBUG
其中的两句代码,在Debug下会编译,在Release下是不会被编译的。 效果如图: 如图,Release下代码的显示是虚的,证明其没有被编译。
转载请注明原文地址: https://ju.6miu.com/read-19158.html