发新帖我要提问
12
返回列表
打印

51中这样定义的宏有错吗?

[复制链接]
楼主: doob
手机看帖
扫描二维码
随时随地手机跟帖
21
lelee007| | 2007-12-7 12:57 | 只看该作者 回帖奖励 |倒序浏览

do while(0)

就是在任意情况下调用该宏模块,都可以执行并且只执行一次,而且调用形式非常简单
哈哈,linux内核情景分析里有讲
我觉得这个用法还是相当经典,值得玩味
LZ没学过C就用C来写CODE的吧?
宏定义是要一行的
换行要加换行符"",否则宏定义那行以外的内容都没定义到宏模块里面去
你也可以将你下面那个函数的所有语句写在一行里边,这样就OK了

使用特权

评论回复
22
computer00| | 2007-12-7 13:10 | 只看该作者

这样子啊,我习惯了if语句后面用大括号了...

俺就怕有些里面的东西是宏定义,不可预料,所以都用括号括起来...

if(1)
{
    someNOP(2);  //这样就没事了
}
else
{
    someNOP(3);
}

使用特权

评论回复
23
alphal| | 2007-12-7 17:20 | 只看该作者

C51能用inline吗?要包含那个头文件?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则