Das ist der Platz für lokale Variablen, nicht padding.
Der Compiler erstellt diesen Stapelspeicher für alle Registerüberläufe und lokalen Variablen, die er beim Ausführen dieser Funktion speichern muss.
Sie könnten einige Auffüllen, wenn Sie x86-64 Code mit dem SysV ABI (die meisten Dinge, die nicht Windows, ich weiß nicht, wie es in letzterem ist) zu disassemblieren, da Funktionsaufrufe den Stapel haben müssen auf 16 Bytes ausgerichtet. Aber in diesem Fall reserviert es tatsächlich Platz für lokale Variablen.
Sie können sich die Datei this ansehen oder nach weiteren Informationen zur Funktionsweise von Compilern suchen.
Schnellerer Zugriff auf entsprechende Speicheradressgrenzen (wie bei jeder Auffüllung). –
Oh, wie beim Zugriff auf Speicher durch Offset ist schneller als der Zugriff durch Drücken von 'Push'es? – sircodesalot
Ich nehme an, sie reservieren Platz für lokale Variablen mit Funktionsumfang. Danach müssen Sie den Stapelzeiger an der richtigen Stelle platzieren, um den Stapelrahmen nicht zu stören (um an die richtige Stelle im Programm zurückzukehren). –