SeeksTheMoon
09-09-2005, 11:59
Ich möchte in meinem Code assert() benutzen, allerdings nur wenn "debug" definiert ist, d.h. wenn ich in meinem Code ein #define debug stehen habe.
Ich bin allerdings schreibfaul und habe keine Lust das jedesmal so zu schreiben:
#ifdef debug
assert(bla);
#endif
Es wäre nett wenn ich das ifdef und endif nicht jedesmal schreiben muss.
Eine Möglichkeit wäre ein Makro ASSERT, dass die obigen 3 Zeilen simuliert.
Aber kann man überhaupt Makrodefinitionen in einem Makro schreiben?
Eine Funktion
void ASSERT(bool bla) {
#ifdef debug
assert(bla);
#endif
}
wäre noch möglich, aber dann hab ich in meinem Release-Code sinnlose Funktionsaufrufe stehen, weil die Funktion dann leer ist.
Gibt es sonst noch eine Möglichkeit?
Ich bin allerdings schreibfaul und habe keine Lust das jedesmal so zu schreiben:
#ifdef debug
assert(bla);
#endif
Es wäre nett wenn ich das ifdef und endif nicht jedesmal schreiben muss.
Eine Möglichkeit wäre ein Makro ASSERT, dass die obigen 3 Zeilen simuliert.
Aber kann man überhaupt Makrodefinitionen in einem Makro schreiben?
Eine Funktion
void ASSERT(bool bla) {
#ifdef debug
assert(bla);
#endif
}
wäre noch möglich, aber dann hab ich in meinem Release-Code sinnlose Funktionsaufrufe stehen, weil die Funktion dann leer ist.
Gibt es sonst noch eine Möglichkeit?