All the preprocessor directives are seen here:
Table 8.1. Preprocessor directives
| Directive | Description |
|---|---|
| #define NAME | Defines a preprocessor symbol by the given name |
| #undef NAME | Removes the symbol definition of the given name, if any. |
| #import "filename" | Imports a file at the given place in the source. |
| #importif EXPR "filename" | Imports a file if a given expression evaluates to true. |
| #importonce | Makes sure the current file is only imported once |
| #if EXPR | Discards the following source if the given expression evaluates to false. |
| #endif | Ends an #if or #else block. |
| #else | Creates an else block. |
| #elif EXPR | The combination of an #else and an #if directiveB |





