What is the difference (if any) between the two following preprocessor control statements.
#if
and
#ifdef
You can demonstrate the difference by doing:
#define FOO 0 #if FOO // won't compile this #endif #ifdef FOO // will compile this #endif
#if checks for the value of the symbol, while #ifdef checks the existence of the symbol (regardless of its value).