打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
zigbee中的st(x) do { x } while (__LINE__ == -1) 的解释

#define st(x)      do { x } while (__LINE__ == -1) 

1, __LINE__ 是个宏,它代表当前代码在源文件的行号,它是大于0的,所以__LINE__ == -1 等同于0,化简为: 
#define st(x)      do { x } while (0) 

2,do {} while (0)通常用于宏中, 为的是避免如下情况: 

#define st(x) x 

那么我们在调用 if (0) st(a = b; b = c;) 时会被解释成 

if(0) 
    a = b; 
b = c; 

可见 if 只对a = b;起作用。  
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
#pragma message预编译指令使用技巧
调试常用的宏
使用gcc的-E -P选项展开源代码中的宏
nslog 宏定义输出 IOS
STM32库函数编程学习心得:assert_param的应用(作者:nqyijian)
VC知识库:#define NDEBUG是what?
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服