Lines that start with #
are preprocessing directives. They are directives that tell the preprocessor to do something.
#include
, #if
, #ifdef
, #ifndef
, #else
, #elif
, #endif
, #define
, #undef
, #line
, #error
, and #pragma
are all preprocessing directives. (A line containing only #
is also a preprocessing directive, but it has no effect.)
#define blah 8
is a preprocessing directive, it is not a macro. blah
is a macro. This #define
preprocessing directive defines the macro named blah
as an object-like macro replaced by the token 8
.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…