AVR-GCC setzt funktionen mehrfach um

OP #1348552
Hallo,

Nach intensiven wundern über den immensen Größenzuwachs von 1,5 auf 3kb 
nach Hinzufügen von 2 Funktionsaufrufen habe ich im Assemblerlisting 
festgestellt, dass der AVR-GCC mehrere Funktionen z.T. 8x 
beinahe-identisch übersetzt. Wie kann ich dem Compiler beibringen, dass 
er diese Funktionen nur einmal übersetzt und per call aufruft?

Kann es daran liegen, dass diese aufwändigen Aufrufe in einer ISR 
stattfinden?

Vielen Dank,
die Ohmrange
OP #1348914
Ich habe nun noch weitergesucht und einen Schalter gefunden, der 
Inlining abschaltet. Offensichtlich ist die Entscheidung, wann eine 
Funktion inline behandelt wird unausgegoren. Das hat den Code wieder auf 
die Hälfte zusammenfallen lassen.

Vielen Dank für Eure Tipps.

Gibts es einen Überblick über die gesammelten Compileroptionen vom GCC?

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.