微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > 2540工程编译时加了 HALNODEBUG宏,那么assert后会怎么样?

2540工程编译时加了 HALNODEBUG宏,那么assert后会怎么样?

时间:10-02 整理:3721RD 点击:

#ifdef HALNODEBUG
#define HAL_ASSERT(expr)
#define HAL_ASSERT_FORCED()
#define HAL_ASSERT_STATEMENT(statement)
#define HAL_ASSERT_DECLARATION(declaration)
#else
#define HAL_ASSERT(expr)                        st( if (!( expr )) halAssertHandler(); )
#define HAL_ASSERT_FORCED()                     halAssertHandler()
#define HAL_ASSERT_STATEMENT(statement)         st( statement )
#define HAL_ASSERT_DECLARATION(declaration)     declaration
#endif

 

如果定了HALNODEBUG宏, 则:

#define HAL_ASSERT(expr)
#define HAL_ASSERT_FORCED()
#define HAL_ASSERT_STATEMENT(statement)
#define HAL_ASSERT_DECLARATION(declaration)

 

这个define是什么意思? 没有任何操作的意思吗?

 

assert的定义和使用请参考此文档:http://blog.csdn.net/hpuyancy/article/details/7585530

嗯,NODEBUG表示禁用assert宏,也就是空操作,不会弹出任何报警和打印错误信息

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top