笔记:OSAL st 宏学习 do { x } while (__LINE__ == -1)
笔记:OSAL st 宏学习 do { x } while (LINE == -1)
#define st(x) do { x } while (__LINE__ == -1)
这段的意思是让代码可以完全按你的预期执行。
不受大括号,分号的影响。
例子:
#define foo(x) bar(x); baz(x)
正常
foo (wolf);
宏展后为
bar (wolf); baz (wolf);
出错
下面这个就是有问题了。
if(!a)
foo (wolf);
参考:
谈谈#define st(x) do { x } while (LINE == -1)
https://blog.csdn.net/oyyj42/article/details/26235613
do {...} while (0) 在宏定义中的作用
https://www.cnblogs.com/lanxuezaipiao/p/3535626.html
所有文章为原创,如非授权,请勿转载。
我们要多多支持有创造能力的人,因为那是我们所有人的希望。
同时我们也希望成为有创造能力的人,我们支持开源,同时也支持正版。
🎈数码荔技正版软件商店🎈
【正版】微软 Office 365
【正版】老牌文件对比工具 Beyond Compare
【正版】JetBrains Idea Java IDE
不断学习,慢慢进步,做时间的朋友。
注意力 > 时间 > 金钱。 -- 建伟 F4nniu
我们要多多支持有创造能力的人,因为那是我们所有人的希望。
同时我们也希望成为有创造能力的人,我们支持开源,同时也支持正版。
🎈数码荔技正版软件商店🎈
【正版】微软 Office 365
【正版】老牌文件对比工具 Beyond Compare
【正版】JetBrains Idea Java IDE
不断学习,慢慢进步,做时间的朋友。
注意力 > 时间 > 金钱。 -- 建伟 F4nniu