preprocessing directives := commands that the
preprocessor follows, usually beginning with #
#defineThis defines a macro,
#includeBrings the contents of the header file into the program.
No it just makes them blank. It also makes comments blank.
When the preprocessor is run, the processed code might still have
bugs in it, therefore if a macro bug is likely, then we should check the
preprocessor output with gcc -E
#define, and #undef :=
removing a macro definition
the #include directive
#if, #ifdef, #ifndef,
#elif, #else, #endif. These allow
code to be conditionally included or excluded.
#define identifier( x_1, x_2, ... , x_n) replacement-list
WARN: #define f (a) b is wrong because of the space
after the left parenthesis, it will be taken as a simple macro.
#error directiveThrow an error, and some compilers terminate the program.