Question is, where are VGA
and NVGA
defined?
If they are not defined, they will equal 0
according to C standard (N1570 - 6.10.1 Conditional inclusion - paragraph 4):
After all replacements due to macro expansion and the defined unary operator have been performed, all remaining identifiers (including those lexically identical to keywords) are replaced with the pp-number 0, and then each preprocessing token is converted into a token.
Which means your comparison will be #if 0==0
, which is identical to #if 1
.
To fix this, you need to define both VGA
and NVGA
to have different values:
#define VGA 1
#define NVGA 2