Freigeben über


/homeparams (Registerparameter in den Stapel kopieren)

Aktualisiert: November 2007

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 sicher zu stellen, 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

  1. Öffnen Sie das Dialogfeld Eigenschaftenseiten des Projekts. Ausführliche Informationen finden Sie unter Gewusst wie: Öffnen von Projekteigenschaftenseiten.

  2. Klicken Sie auf den Ordner C/C++.

  3. Klicken Sie auf die Eigenschaftenseite für die Befehlszeile.

  4. Geben Sie die Compileroption im Feld Zusätzliche Optionen ein.

So legen Sie diese Compileroption programmgesteuert fest

Siehe auch

Referenz

Compileroptionen

Festlegen von Compileroptionen