这个宏是什么意思#define st(x) do { x } while (__LINE__ == -1)zstack中进入退出临界区的宏定义是#define HAL_ENTER_CRITICAL_SECTION(x) st( x = EA; HAL_DISABLE_INTERRUPTS(); )#define HAL_EXIT_CRITICAL_SECTION(x) st( EA = x; )其中st(

来源:学生作业帮助网 编辑:作业帮 时间:2024/07/02 12:52:07
这个宏是什么意思#define st(x) do { x } while (__LINE__ == -1)zstack中进入退出临界区的宏定义是#define HAL_ENTER_CRITICAL_SECTION(x) st( x = EA; HAL_DISABLE_INTERRUPTS(); )#define HAL_EXIT_CRITICAL_SECTION(x) st( EA = x; )其中st(
xS_oP*7&U6_-MlB&5A$IdDcR``X >8VZ_yW6[$jK{O\ozɜR 5`@5JfMo&ɬY}Aސ,yK^=M=O$Ő I#י3N-YJ^*D~7騌*WAIEQ1LjCLuQG/F$2Dhy7CDK#YPQ,y/73O؈ wƹҰaבd9PwE'{fm-;jvLgyr]f SmtaU6>պ_0O*P`,`2Ng+CZx}*9]jMPc 2 dP— llY1k׬6[{}Iy%$a1L=!q|x87t4?}uV/mT+G,m`vrjg0]#o!vv UXɪN?86FΤckKT5

这个宏是什么意思#define st(x) do { x } while (__LINE__ == -1)zstack中进入退出临界区的宏定义是#define HAL_ENTER_CRITICAL_SECTION(x) st( x = EA; HAL_DISABLE_INTERRUPTS(); )#define HAL_EXIT_CRITICAL_SECTION(x) st( EA = x; )其中st(
这个宏是什么意思#define st(x) do { x } while (__LINE__ == -1)
zstack中进入退出临界区的宏定义是
#define HAL_ENTER_CRITICAL_SECTION(x) st( x = EA; HAL_DISABLE_INTERRUPTS(); )
#define HAL_EXIT_CRITICAL_SECTION(x) st( EA = x; )
其中st(x)应作何解释?
#define st(x) do { x } while (__LINE__ == -1)

这个宏是什么意思#define st(x) do { x } while (__LINE__ == -1)zstack中进入退出临界区的宏定义是#define HAL_ENTER_CRITICAL_SECTION(x) st( x = EA; HAL_DISABLE_INTERRUPTS(); )#define HAL_EXIT_CRITICAL_SECTION(x) st( EA = x; )其中st(
#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;起作用.
看明白了吗? 不明白的话继续问