Delen via


/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 91. 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_LSEwilt inschakelen, voegt u het functieargument toe lse zodat de optie /arch:armv8.0+lsewordt. 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

  1. Open het dialoogvenster Eigenschappenpagina's voor het project. Zie C++-compiler instellen en eigenschappen bouwen in Visual Studiovoor meer informatie.

  2. Selecteer de eigenschappenpagina configuratie-eigenschappen>C/C++>opdrachtregel.

  3. Voeg in het vak Aanvullende opties/arch:armv8.0 toe of vervang armv8.0 door een andere ARM64-extensie. Kies OK- om uw wijzigingen op te slaan.

Deze compileroptie programmatisch instellen

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