These warning messages come from the pre-processing pass of the compiler. Athough the compiler and pre-processor are integrated into the same executable, it is worth distinguishing the pre-processor warning messages from those generated by the compiler proper.
When evaluating a pre-processor expression the pre-processor encountered a malformed octal, decimal, or hexadecimal number.
A bad pre-processing token has been produced when using the token pasting
operator ##
. This error is extremely unlikely to occur in your
code.
Characters with ASCII codes greater than 127 are treated as unsigned numbers by the pre-processor.
The pre-processor came to the end of file whilst processing a comment. This is usually an error: comments cannot extend across source files.
Multi-byte character constants are not supported by the pre-processor when evaluating expressions.
The last character in the file is not a new line. Although this isn't an error, it may help portability of your code if you include a new line at the end of your file.
There's a general problem in the way you've used the #if
or #endif
control
The pre-prpocessor control #
control isn't a valid ANSI
pre-processor control. Usually this is caused by a spelling error.
When evaluating a pre-processor expression the pre-processor encountered an
escape sequence \
char which isn't defined by the
ANSI standard.
Wide character constants are not supported by the pre-processor when evaluating expressions.