Die Optimierung der Größe ausführbarer Dateien kann in eingebetteten Systemen oder Ressourcen von entscheidender Bedeutung sein -beschränkte Umgebungen. Um dies zu erreichen, ist es wichtig, nicht verwendete Symbole aus der ausführbaren Datei zu entfernen.
GCC und ld bieten Optionen zum Verwerfen nicht verwendeter Symbole während der Kompilierung und Verknüpfung:
Um nicht verwendete Symbole zu entfernen, folgen Sie diesen Schritten:
Angenommen, wir haben eine Datei test.cpp mit zwei Funktionen, von denen eine ungenutzt ist:
int use(int a); int unused(int a);
Um die ungenutzte Funktion zu entfernen , kompilieren und verknüpfen Sie wie folgt:
gcc -Os -fdata-sections -ffunction-sections test.cpp -o test -Wl,--gc-sections
Dieser Befehl weist GCC an, Code und Daten in Abschnitte zu unterteilen und zu verwerfen nicht referenzierte Abschnitte, was zu einer ausführbaren Datei mit reduzierter Größe führt.
Das obige ist der detaillierte Inhalt vonWie entferne ich mit GCC und ld nicht verwendete Symbole aus ausführbaren C/C-Dateien?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!