Diskussion:C Makros
Aus der Mikrocontroller.net Artikelsammlung, mit Beiträgen verschiedener Autoren (siehe Versionsgeschichte)
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 */
- define toggle_bit(var,bit) ((var) ^= (1 << (bit)))
hinzugefügt. Hoffe alles ist korrekt