Wie Kommentare per #define einfügen?

Gast #363526
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?
Moderator Persönliche Seite #363527
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.

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.