define 巨集

防止一個頭檔被重複包含

#ifndef COMDEF_H

#define COMDEF_H

//頭檔內容

#endif

重新定義一些類型

防止由於各種平臺和編譯器的不同,而產生的類型位元組數差異,方便移植。

typedef unsigned char boolean; /* Boolean value type. */

typedef unsigned long int uint32; /* Unsigned 32 bit value */

typedef unsigned short uint16; /* Unsigned 16 bit value */

typedef unsigned char uint8; /* Unsigned 8 bit value */

得到指定位址上的一個位元組或字

#define MEM_B( x ) ( *( (byte *) (x) ) )

#define MEM_W( x ) ( *( (word *) (x) ) )

得到一個變數的位址(word寬度)

#define B_PTR( var ) ( (byte *) (void *) &(var) )

#define W_PTR( var ) ( (word *) (void *) &(var) )

返回陣列元素的個數

#define ARR_SIZE( a ) ( sizeof( (a) ) / sizeof( (a[0]) ) )

當定義了_DEBUG,輸出資料資訊和所在檔所在行

#ifdef _DEBUG

#define DEBUGMSG(msg,date) printf(msg);printf(“%d%d%d”,date,_LINE_,_FILE_)

#else

#define DEBUGMSG(msg,date)

#endif

results matching ""

    No results matching ""