Diskussion:C Makros

Aus der Mikrocontroller.net Artikelsammlung, mit Beiträgen verschiedener Autoren (siehe Versionsgeschichte)
Wechseln zu: Navigation, Suche

Kleiner Tip: Um das ueberfluessige Semikolon bei Makros zu schlucken, kann man folgenden Trick anwenden:

#define MEINMAKRO(X) \
do { \
 Anweisung1(); \
 Anweisung2(); \
} while(0)

Der Compiler wird die do-while-Schleife wegoptimieren, es gibt keine Probleme mehr mit Makros in if-Statements.


Fehlt da nicht das Semikolon hinter while(0)? Netter Versuch, aber ist es nicht eigentlich unüblich, Semikolons in Makros zu verwenden? --Patrick 08:15, 13. Dez 2004 (CET)

habe mal /* Bit togglen */

  1. define toggle_bit(var,bit) ((var) ^= (1 << (bit)))

hinzugefügt. Hoffe alles ist korrekt