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;起作用。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。