在大型 C++/Qt/QMake/qtcreator 项目中,我想执行一些测试,但仅限于使用调试标志进行编译时。
有没有办法告诉 g++ 代码的某些小部分只能在调试模式下编译?
执行此操作的标准方法是依赖于宏NDEBUG
,由宏使用assert()
定义于<cassert>
:
#ifdef NDEBUG
// release mode code
#else
// debug mode code
#endif
相反的是#ifdef
is #ifndef
, 而且当然#else
分支是可选的。
如果这个宏不起作用(无论出于何种原因),您
可以试试宏QT_NO_DEBUG
,Qt 使用它来实现类似的目的Q_ASSERT()
; and
应该修复它以便NDEBUG
是否正确定义;这是需要的<cassert>
正常工作,您使用的代码可能取决于它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)