多行代码#define 的技巧

来源:互联网 发布:java semaphore 使用 编辑:程序博客网 时间:2024/06/06 16:49

 先看一个例子

#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包含。                              

原创粉丝点击