以文本方式查看主题

-  曙海教育集团论坛  (http://peixun0.cn/bbs/index.asp)
--  C语言开发  (http://peixun0.cn/bbs/list.asp?boardid=62)
----  没有见过的c语言用法,求救  (http://peixun0.cn/bbs/dispbbs.asp?boardid=62&id=2409)

--  作者:wangxinxin
--  发布时间:2010-12-10 11:39:46
--  没有见过的c语言用法,求救
//-------------------------------------------------------------------------------------
unsigned char IfInterTimeOK(tagInterTime * ptime) {
        if(ptime->ucDelay == 0) return 0;
    ptime->ucCount = (ptime->ucCount) + 1;
    if(ptime->ucCount >= ptime->ucDelay) {
            ptime->ucCount = 0;
        return 1;
    }
    return 0;
}
//-----------------------------------------------------------------
typedef struct {
        unsigned char ucDelay, ucCount;
}tagInterTime;                                                                        // Control the interface control time
unsigned char IfInterTimeOK(tagInterTime * ptime);// 1:Action OK
//---------------------------------------------------------------------------------
#define __INTERTIME_DECL(x, y)        SUBLIB_EXT tagInterTime g_it##x;  
#define __IT_START(x, y)                (g_it##x##.ucDelay = y, g_it##x##.ucCount = y)
#define __IT_STOP(x, y)                        g_it##x##.ucDelay = 0
#define __IT_OK(x, y)                        IfInterTimeOK(&g_it##x)
//------------------------------------------------------------------------------
#define IT_DECL(x)                                __INTERTIME_DECL(x)
#define IT_START(x)                                __IT_START(x)
#define IT_STOP(x)                                __IT_STOP(x)
#define IT_OK(x)                                __IT_OK(x)

#define AAA                        A, 25

下面这是用法,不知道是什么意思?
IT_START(AAA);   
if(IT_OK(AAA)) IT_START(AAA);
IT_STOP(AAA);
忘c语言高手指教一下