Preprocessor and Macros

Header Include Guards

if 0 to block out code sections

Function-like macros

Source file inclusion

Conditional inclusion and conditional function signature modification

cplusplus for using C externals in C code compiled with C - name mangling

Token pasting

Predefined Macros

Variadic arguments macro

Macro Replacement

Error directive

FOREACH implementation