mikrocontroller.net

Forum: Compiler & IDEs GCC: Konstanten zwischen Anführungszeichen ersetzen?


Autor: Wolle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

kann man den Preprocessor von AVR-GCC anweisen, Konstanten auch dann zu 
ersetzen, wenn sie zwischen Anführungszeichen stehen?

Im Beispiel...
#define MAX 100
...
if (wert > MAX) uart_puts_P("Eingabewert liegt über MAX");
...soll der Preprocessor die zweite Zeile ändern in...
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.

Autor: Stefan Ernst (sternst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Wolle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke! Mal wieder die falschen Suchwörter gehabt...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.