David Mueller schrieb:
> Vielen Dank für die Tips.
>
> btw, das muss scheinbar so aussehen, zumindest macht microchip das in
> ihrer appio.h :-)
>
>
1 | > #define SF_DEBUGOUT(ignore,ignore2,ignore3) ((void) 0)
|
2 | >
|
>
>
> eh, wir haben aber nicht aneinander vorbei geredet?
Doch, ich denke schon.
Dir geht es darum, wie du mit diesem #define dann die eigentliche
Funktion aus dem Compilat auch noch entfernen kannst.
Zu diesem Zwecke mach dir klar, dass es einen Unterschied zwischen
und
gibt.
Ersteres fragt lediglich ab, ob es ein Makro gibt.
Letzteres kannst du zb verwenden um auch noch den Wert eines Makros
auszuwerten
1 | #if SF_DEBUGOUT == 0
|
2 | ...
|
3 | #endif
|
Genauer gesagt, gilt für #if dasselbe was auch für ein normales C-if
gilt: Es erwartet einen Ausdruck und der kann 0 oder nicht 0 sein. Je
nachdem wird dann vom #if der nachfolgende Textblock mitgenommen oder
nicht.