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?
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.
SoLaLa wrote: > das kompilat war dann damit 14kB groß! Aber wie ich jetzt weiß nicht > wegen dem itoa() sondern wegen dem Fließkommaargument. Und wegen der fehlenden optimierten float-Lib "-lm". Peter
Dankeschön lieber Peter :-) nach suchen-lesen-finden-verstehen-unddasganzeinmeinmakefilereinbasteln klappt das tatsächlich mit dem -lm
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.