Hallo,
kann man den Preprocessor von AVR-GCC anweisen, Konstanten auch dann zu
ersetzen, wenn sie zwischen Anführungszeichen stehen?
Im Beispiel...
1 | #define MAX 100
|
2 | ...
|
3 | if (wert > MAX) uart_puts_P("Eingabewert liegt über MAX");
|
...soll der Preprocessor die zweite Zeile ändern in...
1 | if (wert > 100) uart_puts_P("Eingabewert liegt über 100");
|
Da das für ihn ja eh alles nur Zeichen sind, kann es dem Preprocessor
auch egal sein, daß der Compiler die 100 später mal als Zahl und mal als
Text interpretieren wird.
Natürlich könnte man im Programm auch MAX als Zahl in einen String
wandeln und den dann aus dem RAM senden, aber einen konstanten Text aus
dem Programmspeicher zu übertragen wäre viel effektiver.
Gibt es also eine "hier trotz Anführungszeichen ersetzen"-Anweisung für
den Preprocessor?
Danke,
Wolle.