Originally Posted by
MacGyver
Macros are handled the by (C) preprocessor at compile time. I had thought you even previously had said that they were handled at compile time.
Of course, but the confusion lies in that it's a pre-processor. It finds and replaces all the instances of the text it can find. The preprocessor knows nothing about your code and cannot say whether it's intentional to place TEXT here or there.
It's so very easy to mess up. You can even define keywords:
Code:
#define float THIS IS WRONG
float myvar; // Compile error: syntax error
Which is why I assumed that it changes all the text it finds.