#ifndef EIGHT_BIT
#define THIRTYTWO_BIT // default 32 bit
#endif
#ifdef THIRTYTWO_BIT
#define WORD unsigned long
#define WORDLENGTH 4
#if defined(WIN32) && !defined(__GNUC__)
#define WORD64 unsigned __int64
#else
#define WORD64 unsigned long long
#endif
// THIRTYTWO_BIT
#endif
#ifdef EIGHT_BIT
#define WORD unsigned short
#define WORDLENGTH 4
// EIGHT_BIT
#endif
Run Code Online (Sandbox Code Playgroud)
它只是常量(也就是定义)的定义,取决于#define EIGHT_BIT.
如果定义了EIGHT_BIT,则WORD表示无符号短,WORDLENGTH为4.否则,WORD无符号长,WORDLENGTH也为4.此外,WORD64将被定义为无符号长long,除非您在WIN32系统上而不使用GCC.
所有"代码"都会为您拥有的任何"实时"代码设置预处理器符号.如果被叫符号EIGHT_BIT此代码之前被定义为预处理,它设置WORD和WORDLENGTH相应的(虽然WORDLENGTH的价值是值得怀疑),它将不同的设置值,如果EIGHT_BIT尚未确定.