先看一个例子
#define QF_INT_LOCK(_KEY) do{/
(_KEY)=get_int_status(); /
int_lock(); /
}while(0)
在写多行的代码define时 ,最好在外层加上do{}while(0) ,效率不会影响,并且避免在不加{}的if中使用宏的错误,如例
if(。。。)
QF_INT_LOCK(ret);
否则 int_lock(); 就不被 if包含。
先看一个例子
#define QF_INT_LOCK(_KEY) do{/
(_KEY)=get_int_status(); /
int_lock(); /
}while(0)
在写多行的代码define时 ,最好在外层加上do{}while(0) ,效率不会影响,并且避免在不加{}的if中使用宏的错误,如例
if(。。。)
QF_INT_LOCK(ret);
否则 int_lock(); 就不被 if包含。