Macros & Conditional Compilation (How the Preprocessor Really Works)