Hallo, fällt jemandem eine Möglichkeit ein, wie ich in einem Programm die Ausgabe über printf per #define steuern kann, ohne dafür um jeden aufruf eine #ifdef zu machen?
#ifdef AUSGABE #define PRINTF(x) printf(x) #else #define PRINTF(x) #endif -------------------- PRINTF("lalalal" ); mach was PRINTF( "...." )
Darauf bin ich natürlich auch gekommen. Ich bin allerdings davon ausgegangen, dass das nicht mit variablen Parameterzahlen funtioniert. Täusche ich mich da?
nein tust du nicht. so sollte es aber funktionieren:
1 | #ifdef LOG_ACTIVE
|
2 | # define LOG(...) printf(__VA_ARGS__)
|
3 | #else
|
4 | # define LOG(...)
|
5 | #endif
|
6 | |
7 | // ...
|
8 | int d = 10000; |
9 | LOG("d=%d", d); |
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.