> Ist bei Funktionsparametern ein Status register mit mehreren Flags
> (Bitpositionen) zwei einzelnen bool Parametern vorzuziehen?
Wenn es nicht gerade ein ganz kleiner µC ist, dann weder noch, sondern
enums mit C++. Das dokumentiert, und es wird gleichzeitig vom Compiler
geprüft. Beim "Refactoring" sorgt auch der Compiler dafür, dass es
weniger Probleme gibt. Eclipse kann die eingesetzten enum-Werte mittels
"References" besser auffinden als reine Textsuche.
Was liest sich besser: x(true, false) [mit bool] oder x(State_Enable,
Mode_Immediate) [die enum-Variante] ?
Natürlich geht auch x(ENABLE | IMMEDIATE) [mehrere Flags] oder im ersten
Fall lesbarer mit #define/const. Aber nur mit C++ und enums kann er auch
prüfen, ob es inhaltlich passt.
> Werden mehrere bools auch auf ein 8-bit Wert automatisch gemappt oder
> werden separate Variablen angelegt?
M. W. wird hier pro bool (also pro bit) ein ganzes byte "verschwendet".
Den Luxus gönne ich mir. -fshort-enums sorgt dafür, dass es bei enums
nicht "ausufert".