Warum verbraucht dieses winzige AVR-Programm (z.B. atmega) mit einer simplen Ganzzahldivision so maßlos Programmspeicher? Es sind immerhin fast 5 kB.
1 | int main(void) { |
2 | volatile uint32_t i = 65; |
3 | |
4 | i = 3151872000 / i; |
5 | while(1); |
6 | }
|
Der Wertebereich ist auf jeden Fall ausreichend. Sofern der Zähler aber eine Null weniger hat, normalisiert sich plötzlich der Speicherverbrauch halbwegs (264 B gesamt). Ich bin sehr verwirrt. Wer kann die Sache aufklären?