Teilen über


/arch (ARM64)

Gibt die Arm A-Profile-Architekturerweiterung für die Codegenerierung auf ARM64 an. Weitere Informationen zu /arch anderen Zielarchitekturen finden Sie unter /arch (x86),/arch(x64) und /arch (ARM).

Syntax

/arch:<armv8.0|armv8.1|armv8.2|armv8.3|armv8.4|armv8.5|armv8.6|armv8.7|armv8.8|armv8.9>[+Feature]
/arch:<armv9.0|armv9.1|armv9.2|armv9.3|armv9.4>[+Feature]

Argumente

/arch:armv8.x
Gibt die Armv8-A-Architektur an, wobei x es sich um einen erforderlichen Erweiterungswert von 0 bis 91 handelt. Standardmäßig verwendet der Compiler das /arch:armv8.0 Verhalten, wenn keine Architektur angegeben ist.

/arch:armv9.x2
Gibt die Armv9-A-Architektur an. x Dabei handelt es sich um einen erforderlichen Erweiterungswert von 0 zu 4. Standardmäßig verwendet der Compiler das /arch:armv8.0 Verhalten, wenn keine Architektur angegeben ist.

Hinweise

Sie können eine ARM64-Erweiterung von Armv8.0-A bis Armv8.9-A und Armv9.0-A bis Armv9.4-A angeben. Aktivieren Sie optional ein oder mehrere Architekturfeatures, indem Sie ein Featureargument an die Option3 anfügen. Um z. B. Armv8.0-A als Ziel zu verwenden und das Feature zu aktivieren, fügen Sie das Featureargument FEAT_LSElse an, sodass die Option wird/arch:armv8.0+lse. Weitere Informationen zu den verfügbaren Features und ihren Anforderungen finden Sie unter (ARM64)3./feature

Hinweis

Je nach Ihrer Version von Visual Studio generiert der Compiler möglicherweise noch keine Anweisungen aus allen Featuresätzen, die von der von Ihnen angegebenen Erweiterungsebene erforderlich sind. Ermöglicht z. B. den *Interlocked* systeminternen Funktionen die Verwendung der entsprechenden atomischen Anweisung, /arch:armv8.1 die mit dem Erweiterungsfeature FEAT_LSEArmv8.1-A eingeführt wurde, aber die Compilerunterstützung erfordert Visual Studio 2022, Version 17.2 oder höher.

Das _M_ARM64 Makro wird beim Kompilieren für ein ARM64-Ziel standardmäßig definiert. Weitere Informationen finden Sie unter Vordefinierte Makros\

Das __ARM_ARCH Makro ist für /arch:ARMv8.0 und höher definiert. Sie gibt die ARM-Architekturerweiterungsebene an, auf die der Compiler ausgerichtet ist. Weitere Informationen finden Sie unter Vordefinierte Makros.

#if __ARM_ARCH >= 802
    // code that requires ARMv8.2...
#endif

/arch wirkt sich nur auf die Codegenerierung für systemeigene Funktionen aus. Wenn Sie zum Kompilieren verwenden /clr , /arch wirkt sich dies nicht auf die Codegenerierung für verwaltete Funktionen aus.

So legen Sie die /arch Compileroption in Visual Studio fest

  1. Öffnen Sie das Dialogfeld Eigenschaftenseiten für das Projekt. Weitere Informationen erhalten Sie unter Set C++ compiler and build properties in Visual Studio (Festlegen der Compiler- und Buildeigenschaften (C++) in Visual Studio).

  2. Klicken Sie auf der Eigenschaftenseite auf Konfigurationseigenschaften>C/C++>Befehlszeile.

  3. Fügen Sie im Feld "Zusätzliche Optionen " eine andere ARM64-Erweiterung hinzu /arch:armv8.0 oder ersetzen armv8.0 Sie sie. Klicken Sie auf OK, um die Änderungen zu speichern.

So legen Sie diese Compileroption programmgesteuert fest

1 Armv8-A-Architekturerweiterung armv8.9 ist ab Visual Studio 2022, Version 17.10, verfügbar.
2 Armv9-A-Architekturerweiterungen sind ab Visual Studio 2022, Version 17.10, verfügbar.
Die 3 Architekturfeature-Aktivierung ist ab Visual Studio 2022, Version 17.10, verfügbar.

Weitere Informationen

/arch (Minimale CPU-Architektur)
Vordefinierte Makros
MSVC-Compileroptionen
Syntax für die MSVC-Compilerbefehlszeile