请教do{}while(0)的一些疑问
在sunplus的源代码中,有这么一个宏定义:#define OSD1000ISP_STATUS(stat, ir) do{}while(0)概括来说
在A.h文件中定义
#define OSD1000ISP_STATUS(stat, ir) do{}while(0)
在B.c文件中调用
OSD1000ISP_STATUS(OSDISP_REP_IDLE, OSDIR_REPEAT);
请问这个宏定义什么用?比如上面那个B.c文件中调用是具体这么执行?我看do{}while(0)
这个do{}大括号里面什么都没有,难道什么都不执行吗?要是什么都不执行的话这个宏定义有啥意思,以及调用时OSD1000ISP_STATUS(OSDISP_REP_IDLE, OSDIR_REPEAT);括号里面的参数有啥意思?
请教各位,谢谢。
文章出处:LCDHOME论坛网WWW. 原文地址:http://bbs.