Codegröße bei mehrmaligem itoa() Gebrauch

Gast #1140759
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
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

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.