Codegröße bei mehrmaligem itoa() Gebrauch

Gast #1140759
Lesenswert?

hallöle,
ich hatte neulich mal ein Problem mit der itoa() Funktion.
WinAVR mit AVRstudio
Mega32
Fleury UART
Meßwerte erfassen und mit itoa() über UART ausgeben

Im gesamten Programm 1 bis4 mal itoa() verwendet lag die Codegröße 
zeimlich konstant bei 8-9kB.
Als ich dann ein 5. mal itoa() verwendete betrug die Codegröße 14kB.

Kann das jemand erklären bzw. nachvollziehen?
Gast #1141418
Lesenswert?

hihi,
wie ich in diesem Forum schonmal anmerkte:
"wenn man das Problem erstmal niederschreibt, dann kommt man auch selbst 
auf die Lösung... und müßte dementsprechend nicht die Spezialisten hier 
mit dem Blödsinn konfrontieren :-)"
Ich hatte in dem Code mehrere Zeilen in der Art

lcd_puts(itoa((zeit*6),s,10));
uart_puts(itoa((drehzahl[2]),s,10));

da war das Kompilat etwa 8 bis 9 kB. Aber die eine Zeile die ich noch 
hatte war diese:

lcd_puts(itoa((voltage*28.39),s,10));

das kompilat war dann damit 14kB groß! Aber wie ich jetzt weiß nicht 
wegen dem itoa() sondern wegen dem Fließkommaargument. Nach Umschreiben 
in

lcd_puts(itoa((voltage*2839/100),s,10));

bleibt der Code wieder bei 9kB Größe.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren