任何人都可以解释我这段代码

Pra*_*mod 2 c++

#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)

Tob*_*ner 5

它只是常量(也就是定义)的定义,取决于#define EIGHT_BIT.

如果定义了EIGHT_BIT,则WORD表示无符号短,WORDLENGTH为4.否则,WORD无符号长,WORDLENGTH也为4.此外,WORD64将被定义为无符号长long,除非您在WIN32系统上而不使用GCC.


Jim*_*uck 5

所有"代码"都会为您拥有的任何"实时"代码设置预处理器符号.如果被叫符号EIGHT_BIT此代码之前被定义为预处理,它设置WORDWORDLENGTH相应的(虽然WORDLENGTH的价值是值得怀疑),它将不同的设置值,如果EIGHT_BIT尚未确定.