Ich möchte genau wissen, wie viel Objektcode von GCC für jede Sammlung von Kompilierungseinheiten generiert wird, aber ich habe ein seltsames Problem, wenn der Befehl "Größe" von binutils nicht das richtige Ergebnis liefert.
Nehmen wir eine C-Datei, die nur diese Funktion enthält:
%Vor%Wir können es kompilieren und die Größe des Objektcodes mit "size" und "objdump" überprüfen:
%Vor%Von der objdump-Ausgabe ist klar, dass die Objektcodegröße 4 Bytes beträgt. Die Größe meldet jedoch 52 Byte, was falsch ist.
Von der Verwendung der "-D" -Option nach objdump sieht es aus wie der Ausnahmebehandlungscode und vielleicht werden einige andere Sachen durch "Größe" gemessen und zu der Größe des Codes hinzugefügt, der mir wirklich wichtig ist. Kennt jemand einen relativ einfachen Weg, um Größe zu bekommen, diese Extras zu ignorieren?