2010-11-24 13 views
1

XL Compiler von AIX scheint die Option -qfuncsect zu haben, die jede Funktion in einen separaten Objektsteuerungsabschnitt platziert, mit dem Effekt, dass wenn die endgültige ausführbare Datei erstellt wird, sie beim Entfernen unerwünschter Funktionen hilft.Was ist die gcc-äquivalente Option für die Option -qfuncsect des XL-Compilers von AIX?

Gibt es eine äquivalente Option für dasselbe in gcc? Ich kann das nicht finden.

+0

Was wollen Sie erreichen? Soweit ich auf meiner Plattform (linux) und gcc sehen kann, hat die endgültige ausführbare Datei nur die Funktionen, die notwendig sind. –

+0

Ich kann nicht erreichen, was Sie auf VxWorks (MIPS) bekommen. Ist es nicht wahr, dass, wenn eine Datei 5 Funktionen enthält und meine Anwendung nur 2 verwendet, auch die anderen 3 verknüpft werden? Bitte korrigieren Sie mich, wenn ich falsch liege. Vielen Dank! – Jay

Antwort

1
+0

Sollte ich einige Optionen an Linker übergeben, auch wenn ich diese Optionen mit dem Compiler verwende? Ich möchte, dass dies auf VxWorks (MIPS und einige weitere Architekturen) funktioniert. – Jay

+0

Es wird auch auf dieser Seite in der Erklärung für diese Optionen gesagt, dass Linker größere Objekt und ausführbare Dateien erzeugt. Größere Objektdateien ist in Ordnung, aber warum größere ausführbare Dateien, der ganze Sinn dieser Übung ist es, die Größe der ausführbaren Datei richtig zu machen? – Jay

+0

Sie können -Wl verwenden, um Argumente an den Linker zu übergeben, wenn Sie gcc verwenden. Was Sie an den Linker senden sollten, ist --gc-sections. Neben den obigen Erwähnungen sollten Sie also auch -Wl, - GC-Abschnitte haben –