Here are some things to be aware of when using the traditional preprocessor.
#’ appears in the first column. There can be no whitespace between the beginning of the line and the ‘
#’, but whitespace can follow the ‘
#error’ or ‘
#pragma’, and may not recognize ‘
#elif’. CPP supports all the directives in traditional mode that it supports in ISO mode, including extensions, with the exception that the effects of ‘
#pragma GCC poison’ are undefined.