Forum: Compiler & IDEs avr-gcc linker Problem


von Philipp (Gast)


Lesenswert?

Hallo,

ist es normal das avr-gcc auch Funktionen mit eincompeliert die ich in
meinem Code gar nicht benutze? Das ist natürlich sehr ärgerlich, weil
ich mir einige Libs geschrieben hab (LCD, UART, usw) aus denen ich nur
selten alle Funktionen brauche. Und dann entsprechend nicht benötigte
Funktionen für ein Projekt auszkommentieren ist natürlich etwas lästig
und Fehleranfällig.

Bin ich nur zu blöd den Compiler zu bedienen oder kann der Linker
unbenötigten Code wirklich nicht weglassen? Ich benutzte beim
compelieren die Optimierung s aber auch mit zB 3 ist es nicht anders.

Vielen Dank
Gruß Philipp

von Rolf Magnus (Gast)


Lesenswert?

Er kann schon, aber nur auf Ebene von Übersetzungseinheiten, also wenn
du alle LCD-Funktionen in einem .o-File hast, werden bei Benutzung
einer davon alle gelinkt.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Die Selektion geht übrigens nur für Bibliotheken.  Alle
explizit auf der Kommandozeile angegebenen .o-Dateien werden
immer gelinkt.  Der Nutzer hat sie ja schließlich angegeben,
da wird er sich ja was dabei gedacht haben...

von Philipp (Gast)


Lesenswert?

Und wie übersetze ich es dann am schlausten das aus meiner uart.c und
uart.h nicht nur ein .o File wird. Also wie sollte man es machen, damit
nur die benötigten Funktionen im .hex File landen?

Vielen Dank schonmal
Gruß Philipp

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
Noch kein Account? Hier anmelden.