Soweit ich weiß, können Sie in gcc etwas wie schreiben:
#define DBGPRINT(fmt...) printf(fmt);
Gibt es eine Möglichkeit, dies in VC++ zu tun?
Soweit ich weiß, können Sie in gcc etwas wie schreiben:
#define DBGPRINT(fmt...) printf(fmt);
Gibt es eine Möglichkeit, dies in VC++ zu tun?
Das Folgende sollte funktionieren. (Siehe Link zu Variadische Makros )
(Das folgende Beispiel zeigt ein festes und ein variables Argument).
# define DBGPRINTF(fmt,...) \
do { \
printf(fmt, __VA_ARGS__); \
} while(0)
Fast. Es ist aber noch hässlicher als das (und Sie wollen wahrscheinlich kein Semikolon am Ende des Makros haben:
#define DBGPRINT(DBGPRINT_ARGS) printf DBGPRINT_ARGS // note: do not use '(' & ')'
Zur Verwendung:
DBGPRINT(("%s\n", "Hello World"));
(es fehlte ein Paar Parens).
Ich bin mir nicht sicher, warum all die Negative, die ursprüngliche Frage nicht angeben, eine Version von VC + +, und variadic Makros sind nicht von allen Compilern unterstützt.
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.