Fork me on GitHub
摘要: 如果你是一名C程序员,你肯定很熟悉宏,它们非常强大,如果正确使用可以让你的工作事半功倍。然而,如果你在定义宏时很随意没有认真检查,那么它们可能使你发狂,浪费N多时间。在很多的C程序中,你可能会看到许多看起来不是那么直接的较特殊的宏定义。下面就是一个例子:#define __set_task_state(tsk, state_value) \ do { (tsk)->state = (state_value); } while (0)在Linux内核和其它一些著名的C库中有许多使用do{...}while(0)的宏定义。这种宏的用途是什么?有什么好处?Google的Robert ... 阅读全文
posted @ 2014-01-28 14:00 Alexia(minmin) 阅读(47086) 评论(13) 推荐(33) 编辑
无觅关联推荐,快速提升流量