GCC (C99) and MSVC Pre-Processor Macro Magic.