GCC: Konstanten zwischen Anführungszeichen ersetzen?

Gast #815004
Lesenswert?

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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren