mikrocontroller.net

Forum: Compiler & IDEs Wie Kommentare per #define einfügen?


Autor: no comment (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich würde gerne mit #define wahlweise code oder Kommentare einfügen.
Z.B. so:
/*
#define DEBUGF  fprintf
#define LDEBUGF fprintf
*/
#define DEBUGF //
#define LDEBUGF  //

Je nachdem ob man die Debug-Funktionen benutzen mochte wird entweder
gedruckt - oder nicht.

Leider geht das so nicht, da die Kommentare natürlich als Kommentar
interpretiert werden.

Wie könnte man das machen?

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
#if DEBUG
#   define DEBUGF(...) fprintf(_VA_ARGS_)
#else
#   define DEBUGF(...) /* nothing */
#endif

Du fragst in einem GCC-Forum, insofern gehe ich davon aus, dass
dein Compiler C99-Mode _VA_ARGS_ kennt.  Wenn man das nicht
zur Verfügung hat, muss man das etwas umständlicher ausdrücken,
falls der DEBUGF-Makro eine nicht näher bestimmte Anzahl von
Argumenten übernehmen können soll.

Das Ein- und Ausschalten erfolgt typisch durch Übergabe von
-DDEBUG (ist dasselbe wie -DDEBUG=1) oder -DDEBUG=0 (ist
effektiv für obigen Konstrukt gleich dem Weglassen jeglicher
Definition von DEBUG) auf der Kommandozeile.

Autor: no comment (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Jörg,

danke für die schnelle Antwort.

Klappt!

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.