Hallo liebe Forenmitglieder,
ich habe gerade wirklich unerklärliches (für mich) entdeckt.
Mein Code wird durch hinzufügen der folgenden Zeilen
1 | // index check
|
2 | if ( (index & 0x03) != (EE_FIRST & 0x03)
|
3 | || index < EE_FIRST
|
4 | || index > EE_LAST-4 ) {
|
5 | ;//indexfehler!!!
|
6 | }
|
kleiner.
Ohne diese Zeilen (mit /* */ auskommentiert) hat er:
1 | Program: 1196 bytes (29.1% Full)
|
2 | (.text + .data + .bootloader)
|
mit aber nur
1 | Program: 1192 bytes (29.1% Full)
|
2 | (.text + .data + .bootloader)
|
Ausser den 4 Zeichen zum Auskommentieren wurde zwischen den beiden
"Messungen" nichts verändert. Nichtmal ein Zeilenumbruch.
Kann sich/mir das einer erklären?
PS:
Ja, der Code ist so noch nicht fertig, und die Zeilen geben so auch
keinen Sinn, könnten also wegoptimiert werden, aber dass er dann gleich
so gut optimiert und weitere 4 byte freimacht?! Ich finds lustig, aber
auch komisch!