Hallo! Werden bei AVRGCC Funktionen die nie einen Aufruf erhalten weggeschnitten? Hängt vom Optimierungsgrad ab? thx
Gast
#819231
> Werden bei AVRGCC Funktionen die nie einen Aufruf erhalten > weggeschnitten? Kommt drauf an. Wenn sie static sind, ja. Bei Funktionen mit externer Bindung ist es Aufgabe des Linkers. Der macht das aber nur auf Basis ganzer Objectfiles und nicht einzelner Funktionen.
> Der macht das aber nur auf Basis > ganzer Objectfiles und nicht einzelner Funktionen. In neueren Versionen von gcc gibt es die Möglichkeit, jeder Funktion automatisch eine eigene Section zuweisen zu lassen. Der Linker kann diejenigen sections "verwerfen", die nicht benötigt werden (vgl. gcc-Dokumentation compiler-option -ffunction-sections, binutils-Dokumentation linker-option: gc-sections).
Martin Thomas wrote: >> Der macht das aber nur auf Basis >> ganzer Objectfiles und nicht einzelner Funktionen. > > In neueren Versionen von gcc gibt es die Möglichkeit, jeder Funktion > automatisch eine eigene Section zuweisen zu lassen. Der Linker kann > diejenigen sections "verwerfen", die nicht benötigt werden (vgl. > gcc-Dokumentation compiler-option -ffunction-sections, > binutils-Dokumentation linker-option: gc-sections). Das klingt gut, in das werd ich mich mal reinlesen!
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.