Forum: Compiler & IDEs CompilerOpt.: "ffunction-sections" u. "-fdata-sections"


von hut und helm (Gast)


Lesenswert?

was bedeuten diese beiden optionen denn ?


das steht in dem HELP-Print / hilft mir jetzt nicht sehr viel weiter :
**********************************************************************
-fdata-sections             Place data items into their own section
-ffunction-sections         Place each function into its own section
**********************************************************************

heißt das nur das der prog-Code in die text-section geschrieben wird ?
und Var.-inits in die data-section ?

hat das einfluss auf  die benötigte Speichermenge ?

von (prx) A. K. (prx)


Lesenswert?

Wenn jede Funktion in einer eigenen Sektion liegt, kann der Linker sie 
wenn unbenutzt rauswerfen.

von Martin T. (mthomas) (Moderator) Benutzerseite


Lesenswert?

(Es fehlt noch eine Kappe und eine Mütze.)
Dazu noch die Dokumenation der binutils/ld nach gc-sections lesen.

>hat das einfluss auf  die benötigte Speichermenge ?

Wie von A.K. geschrieben: "wenn...unbenutzt...". Werde also alle 
Funktionen genutzt, haben die Optionen -f*-sections/gc-sections keinen 
Einfluss. Die Optionen sind dann nützlich, wenn man Funktionsammlungen 
nicht in einzelne Quellcode und somit object-Dateien trennt, um daraus 
eine eine "echte" Library ("*.a") zu erzeugen, aber dennoch nur die 
Funktionen der Sammlung im load-image haben will, die tatsächlich 
genutzt werden.

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.