首页
assert_param函数参数是什么
返回

assert_param函数参数是什么

2022-12-19 综合百科 By:佚名
最佳答案关于assert_param函数参数是什么这个很多人还不知道,今天菲菲来为大家解答以上的问题,现在让我们一起来看看吧!1、这是断言机制。2、意思是在关闭断言的情况下,void MY_NVIC_SetVectorTable(u32 NVIC_VectTab,u32 Offset){ assert_param(IS_NVIC_VECTTAB(NVIC_VectTab)); assert_param(IS_NVIC_O...

关于assert_param函数参数是什么这个很多人还不知道,今天菲菲来为大家解答以上的问题,现在让我们一起来看看吧!

1、这是断言机制。

2、意思是在关闭断言的情况下,void MY_NVIC_SetVectorTable(u32 NVIC_VectTab,u32 Offset){ assert_param(IS_NVIC_VECTTAB(NVIC_VectTab)); assert_param(IS_NVIC_OFFSET(Offset)); SCB->VTOR=NVIC_VectTab|(Offset&(u32)0x1FFFFF80);}就相当于:void MY_NVIC_SetVectorTable(u32 NVIC_VectTab,u32 Offset){ (void)0; // 不执行任何操作,对程序也没有副作用 (void)0; // 不执行任何操作,对程序也没有副作用 SCB->VTOR=NVIC_VectTab|(Offset&(u32)0x1FFFFF80);}由于你的这个断言没贴完整,我就拿VC++6.0下的断言来说明把。

3、在VC++6.0下的assert.h中:#ifdef NDEBUG #define assert(exp) ((void)0)#else#define assert(exp) (void)( (exp) || (_assert(#exp, __FILE__, __LINE__), 0) )如果你写的代码中使用了断言,比如:assert(i>=0);那么这句的在程序中的作用分两种情况:1. 若果在assert.h被包含之前NDEBUG这个宏未定义,assert(exp) 就被定义为(void)( (exp) || (_assert(#exp, __FILE__, __LINE__), 0) )。

4、这样当i<0时,i>=0这个表达式为假,所以程序就会终止。

5、并通知程序员发生错误的文件位置和代码行。

6、但是错误信息仅仅对程序员有用。

7、对用户来说,程序异常终止就显得不是那么友好了(用户此时需要的是挽回错误)。

8、所以在发布给用户的程序中,assert(断言)要关闭。

9、在VC++6.0下这是通过在包含assert.h头文件之前定义NDEBUG实现的。

10、2.在定义了NDEBUG的情况下,断言不应该给程序带来副作用。

11、这样断言就被定义为:#define assert(exp) ((void)0)此时,assert(i>=0);不管括号中表达式为真还是为假,这一行代码其实相当于:NULL;意思是不执行任何操作。

本文到此分享完毕,希望对大家有所帮助。

猜你喜欢
不是7.1声道对吃鸡影响大不大(7 1声道耳机吃鸡有用吗)

不是7.1声道对吃鸡影响大不大(7 1声道耳机吃鸡有用吗)

12-18 0 阅读
影子形成的原因是光的什么现象(影子形成的原因)

影子形成的原因是光的什么现象(影子形成的原因)

12-18 0 阅读
哔哩哔哩怎么不能qq登录了(哔哩哔哩支持qq登录吗)

哔哩哔哩怎么不能qq登录了(哔哩哔哩支持qq登录吗)

12-18 0 阅读
达标率的求法(达标率)

达标率的求法(达标率)

12-18 0 阅读
苹果电脑卡怎么办(电脑卡怎么办)

苹果电脑卡怎么办(电脑卡怎么办)

12-18 0 阅读
音乐播客(音乐播客)

音乐播客(音乐播客)

12-18 0 阅读
热门推荐
基于AI的动物运动捕捉系统具有从药物开发到生态学的应用

基于AI的动物运动捕捉系统具有从药物开发到生态学的应用

12-19 0 阅读
鸣人死了是哪一集疾风传(鸣人死了是哪一集)

鸣人死了是哪一集疾风传(鸣人死了是哪一集)

12-18 0 阅读
rj45接口是什么通讯协议(RJ45接口是什么)

rj45接口是什么通讯协议(RJ45接口是什么)

12-19 0 阅读
河南省濮阳市(关于河南省濮阳市的介绍)

河南省濮阳市(关于河南省濮阳市的介绍)

12-19 0 阅读
吃什么壮阳补精快(吃什么壮阳补精)

吃什么壮阳补精快(吃什么壮阳补精)

12-18 0 阅读
20平方铜线能带多少千瓦380v(25平方铜线380v可以带多少千瓦吧)

20平方铜线能带多少千瓦380v(25平方铜线380v可以带多少千瓦吧)

11-25 0 阅读
甲硝唑片醋酸地塞米松片的作用(醋酸地塞米松片的作用)

甲硝唑片醋酸地塞米松片的作用(醋酸地塞米松片的作用)

12-18 0 阅读
dell d630(dell d630)

dell d630(dell d630)

12-18 0 阅读
杨海涛原型到底是谁(黑白大搏斗中杨海涛人物真实原型结局是什么 他手里有几条命)

杨海涛原型到底是谁(黑白大搏斗中杨海涛人物真实原型结局是什么 他手里有几条命)

12-19 0 阅读
为什么喜马拉雅听一会就停(喜马拉雅为什么听着听着就断开了)

为什么喜马拉雅听一会就停(喜马拉雅为什么听着听着就断开了)

12-18 0 阅读