/homeparams (Registerparameter in den Stapel kopieren)
Erzwingt, dass in Registern übergebene Parameter bei Funktionseinstieg in ihre Speicherorte auf dem Stapel geschrieben werden.
/homeparams
Hinweise
Diese Compileroption gilt nur für die x64-Compiler (systemeigene und Cross-Compiler).
Wenn in einer x64-Kompilierung Parameter übergeben werden, ist für Aufrufkonventionen Stapelspeicher für Parameter erforderlich. Dies gilt auch für Parameter, die in Registern übergeben werden. Weitere Informationen finden Sie unter Parameterübergabe. In der Standardeinstellung werden in einem Releasebuild die Registerparameter jedoch nicht in den Stapelspeicher geschrieben, der bereits für die Parameter zur Verfügung gestellt wird. Dadurch ergeben sich Schwierigkeiten beim Debuggen eines optimierten (Release-)Builds des Programms.
Verwenden Sie für einen Releasebuild /homeparams, um sicherzustellen, dass Sie in der Lage sind, die Anwendung zu debuggen. /homeparams führt zu einer verminderten Leistung, da für das Laden der Registerparameter auf den Stapel ein Zyklus erforderlich ist.
In einem Debugbuild wird der Stapel stets mit Parametern ausgefüllt, die in Registern übergeben werden.
So legen Sie diese Compileroption in der Visual Studio-Entwicklungsumgebung fest
Öffnen Sie das Dialogfeld Eigenschaftenseiten des Projekts. Ausführliche Informationen finden Sie unter Gewusst wie: Öffnen von Projekteigenschaftenseiten.
Klicken Sie auf den Ordner C/C++.
Klicken Sie auf die Eigenschaftenseite für die Befehlszeile.
Geben Sie die Compileroption im Feld Zusätzliche Optionen ein.
So legen Sie diese Compileroption programmgesteuert fest
- Siehe AdditionalOptions.