Hallo,
ich hätt hier folgende Frage:
Gegeben ist eine Zeile C Code, hier mal als Beispiel eine Zeile der
USART Initialisierung.
1 | UCSR0C = (0 << UMSEL00) | (0 << UMSEL01) | (1 << UCSZ01) | (1 << UCSZ00);
|
Die Bitpositionen, zB UMSEL00 liegen hier ja als #defines vor, hinter
denen sich Zahlen verbergen. Der Preprozessor ersetzt die Bezeichner
noch vorm Kompilieren durch diese Zahlen.
Aber was macht der Compiler? Werden diese 4 Zahlen zur Laufzeit
verodert? Oder sieht der Compiler, dass es sich um Konstanten handelt
und verodert sie gleich wärend des Kompilierens?
Macht natürlich nicht viel aus, grad beim Init sind die paar Takte recht
egal, aber mich würds interessieren :-)
Viele Grüße,
lex