码迷,mamicode.com
首页 > 其他好文 > 详细

在Debug模式下中断, 在Release模式下跳出当前函数的断言

时间:2015-07-02 17:34:29      阅读:105      评论:0      收藏:0      [点我收藏+]

标签:debug   release   断言   

在Debug模式下中断, 在Release模式下跳出当前函数的断言

#ifdef DEBUG
#define __breakPoint_on_debug asm("int3")
#else
#define __breakPoint_on_debug
#endif

// 验证
#define UXY_ASSERT_RETURN_ON_RELEASE( __condition, __desc, ... ) \
        metamacro_if_eq(0, metamacro_argcount(__VA_ARGS__))         (__XY_ASSERT_1(__condition, __desc, __VA_ARGS__))            (__XY_ASSERT_2(__condition, __desc, __VA_ARGS__))

#define __XY_ASSERT_1( __condition, __desc ) \
        if ( !(__condition) ) __breakPoint_on_debug;           else return;

#define __XY_ASSERT_2( __condition, __desc, __returnedValue ) \
        if ( !(__condition) ) __breakPoint_on_debug;           else return __returnedValue;

版权声明:本文为博主原创文章,未经博主允许不得转载。

在Debug模式下中断, 在Release模式下跳出当前函数的断言

标签:debug   release   断言   

原文地址:http://blog.csdn.net/uxyheaven/article/details/46727909

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!