/arch
(ARM64)
Hiermee geeft u de Arm A-Profile-architectuurextensie voor het genereren van code op ARM64. Zie voor meer informatie over /arch
voor andere doelarchitecturen /arch
(x86), /arch
(x64)en /arch
(ARM).
Syntaxis
[+functie]
/arch:<armv8.0|armv8.1|armv8.2|armv8.3|armv8.4|armv8.5|armv8.6|armv8.7|armv8.8|armv8.9>
[+functie]/arch:<armv9.0|armv9.1|armv9.2|armv9.3|armv9.4>
Argumenten
/arch:armv8.x
Hiermee geeft u de Armv8-A-architectuur, waarbij x
een vereiste extensiewaarde is van 0
tot 9
1. De compiler gebruikt standaard het /arch:armv8.0
gedrag als er geen architectuur is opgegeven.
/arch:armv9.x
2
Hiermee geeft u de Armv9-A-architectuur op, waarbij x
een vereiste extensiewaarde is van 0
tot 4
. De compiler gebruikt standaard het /arch:armv8.0
gedrag als er geen architectuur is opgegeven.
Opmerkingen
U kunt een ARM64-extensie opgeven van Armv8.0-A tot en met Armv8.9-A en Armv9.0-A tot en met Armv9.4-A. Schakel desgewenst een of meer architectuurfuncties in door een functieargument toe te voegen aan de optie3. Als u bijvoorbeeld Armv8.0-A wilt gebruiken en functie-FEAT_LSE
wilt inschakelen, voegt u het functieargument toe lse
zodat de optie /arch:armv8.0+lse
wordt. Zie /feature
(ARM64)3voor meer informatie over beschikbare functies en hun vereisten.
Notitie
Afhankelijk van uw versie van Visual Studio genereert de compiler mogelijk nog geen instructies van alle functiesets die vereist zijn voor het extensieniveau dat u opgeeft. Met /arch:armv8.1
kunnen de *Interlocked*
intrinsieke functies bijvoorbeeld de juiste atomische instructies gebruiken die zijn geïntroduceerd met de functie armv8.1-A FEAT_LSE
, maar voor compilerondersteuning is Visual Studio 2022 versie 17.2 of hoger vereist.
De _M_ARM64
macro wordt standaard gedefinieerd bij het compileren van een ARM64-doel. Zie Vooraf gedefinieerde macro'svoor meer informatie.
De macro __ARM_ARCH
is gedefinieerd voor /arch:ARMv8.0
en hoger. Hiermee wordt het uitbreidingsniveau van de ARM-architectuur aangegeven waarop de compiler is gericht. Zie Vooraf gedefinieerde macro'svoor meer informatie.
#if __ARM_ARCH >= 802
// code that requires ARMv8.2...
#endif
/arch
is alleen van invloed op het genereren van code voor systeemeigen functies. Wanneer u /clr
gebruikt om te compileren, heeft /arch
geen effect op het genereren van code voor beheerde functies.
De optie /arch
compiler instellen in Visual Studio
Open het dialoogvenster Eigenschappenpagina's voor het project. Zie C++-compiler instellen en eigenschappen bouwen in Visual Studiovoor meer informatie.
Selecteer de eigenschappenpagina configuratie-eigenschappen>C/C++>opdrachtregel.
Voeg in het vak Aanvullende opties
/arch:armv8.0
toe of vervangarmv8.0
door een andere ARM64-extensie. Kies OK- om uw wijzigingen op te slaan.
Deze compileroptie programmatisch instellen
- Zie AdditionalOptions.
1 Armv8-A architectuurextensie armv8.9
is beschikbaar vanaf Visual Studio 2022 versie 17.10.
2 Armv9-A architectuurextensies zijn beschikbaar vanaf Visual Studio 2022 versie 17.10.
3 Functie inschakelen van architectuur is beschikbaar vanaf Visual Studio 2022 versie 17.10.
Zie ook
/arch
(minimale CPU-architectuur)
vooraf gedefinieerde macro's
MSVC-compileropties
opdrachtregelsyntaxis van MSVC-compiler