你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

hal问题,do-while(0);的写法

[复制链接]
mr.hs 提问时间:2016-1-3 19:55 /
在hal里看见了do-while(0);的写法  不知道有什么特殊意义
收藏 评论11 发布时间:2016-1-3 19:55

举报

11个回答
mark0668 回答时间:2016-1-3 23:55:26
昨天我才刚看完.解决了展开错误的问题,百度下吧
moyanming2013 回答时间:2016-1-4 10:19:58
是在#define里面的吗
mr.hs 回答时间:2016-1-4 11:02:51
moyanming2013 发表于 2016-1-4 10:19
是在#define里面的吗










yxz1212_bao 回答时间:2016-1-4 11:33:37
这是为了定义多条表达式,以前在一本c语言的书里看到过,貌似是为了防止一些特殊的调用
党国特派员 回答时间:2016-1-4 13:45:09
这个说起来话长了,百度一下吧。 1.png 2.png 3.png 4.png 5.png
风子 回答时间:2016-1-4 14:30:26
一般用在宏定义中,避免出现一些奇怪bug,,
moyanming2013 回答时间:2016-1-4 18:33:28

《C安全编码标准》P20:
111.jpg
222.jpg
333.jpg

moyanming2013 回答时间:2016-1-4 18:36:18
moyanming2013 发表于 2016-1-4 18:33
《C安全编码标准》P20:

其实,在其它地方总是使用这个do-while都是最好的选择。
注意:
1.宏中最后while(0)没有分号,这个分号是在调用时给出的:SWAP(X,Y);
2.do{}while(0)编译后没有任何开销。
dsjsjf 回答时间:2016-1-4 18:37:33
楼上正解
12下一页

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版