Aracılığıyla paylaş


/arch (ARM64)

ARM64'te kod oluşturma için Arm A-Profile mimari uzantısını belirtir. Diğer hedef mimariler hakkında /arch daha fazla bilgi için bkz /arch . (x86),/arch(x64)ve /arch (ARM).

Sözdizimi

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

Bağımsız değişkenler

/arch:armv8.x
Armv8-A mimarisini belirtir ve burada x 1'den 1'e0 kadar 9gerekli bir uzantı değeridir. Varsayılan olarak, mimari belirtilmezse derleyici bu davranışı kullanır /arch:armv8.0 .

/arch:armv9.x2
Armv9-A mimarisini belirtir ve burada x için 04gerekli bir uzantı değeridir. Varsayılan olarak, mimari belirtilmezse derleyici bu davranışı kullanır /arch:armv8.0 .

Açıklamalar

Armv8.0-A ile Armv8.9-A arasında ve Armv9.0-A ile Armv9.4-A arasında bir ARM64 uzantısı belirtebilirsiniz. İsteğe bağlı olarak, 3 seçeneğinebir özellik bağımsız değişkeni ekleyerek bir veya daha fazla mimari özelliğini etkinleştirin. Örneğin, Armv8.0-A'yı hedeflemek ve özelliği FEAT_LSEetkinleştirmek için, seçenek haline gelmesi /arch:armv8.0+lseiçin özellik bağımsız değişkenini lse ekler. Kullanılabilir özellikler ve gereksinimleri hakkında daha fazla bilgi için bkz /feature . (ARM64)3.

Not

Visual Studio sürümünüze bağlı olarak, derleyici henüz belirttiğiniz uzantı düzeyi için gerekli olan tüm özellik kümelerinden yönergeler oluşturmayabilir. Örneğin, /arch:armv8.1 iç işlevlerin *Interlocked* Armv8.1-A uzantı özelliğiyle FEAT_LSEsunulan uygun atomik yönergeyi kullanmasına izin verir, ancak derleyici desteği için Visual Studio 2022 sürüm 17.2 veya üzeri gerekir.

Bir _M_ARM64 ARM64 hedefi için derleme yapılırken makro varsayılan olarak tanımlanır. Daha fazla bilgi için bkz. Önceden tanımlanmış makrolar\

Makro __ARM_ARCH ve üzeri için /arch:ARMv8.0 tanımlanır. Derleyicinin hedeflediğini ARM mimarisi uzantısı düzeyini gösterir. Daha fazla bilgi için bkz . Önceden tanımlanmış makrolar.

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

/arch yalnızca yerel işlevler için kod oluşturmayı etkiler. Derlemek için kullandığınızda /clr , /arch yönetilen işlevler için kod oluşturma üzerinde hiçbir etkisi olmaz.

Visual Studio'da /arch derleyici seçeneğini ayarlamak için

  1. Proje için Özellik Sayfaları iletişim kutusunu açın. Daha fazla bilgi için bkz . Visual Studio'da C++ derleyicisi ve derleme özelliklerini ayarlama.

  2. Yapılandırma Özellikleri>C/C++>Komut Satırı özellik sayfasını seçin.

  3. Ek seçenekler kutusunda, öğesini farklı bir ARM64 uzantısıyla ekleyin /arch:armv8.0 veya değiştirinarmv8.0. Değişikliklerinizi kaydetmek için Tamam'ı seçin.

Bu derleyici seçeneğini program üzerinden ayarlamak için

1 Armv8-A mimari uzantısı armv8.9 Visual Studio 2022 sürüm 17.10'dan itibaren kullanılabilir.
2 Armv9-A mimari uzantıları Visual Studio 2022 sürüm 17.10'dan itibaren kullanılabilir.
3 Mimari özelliği etkinleştirme, Visual Studio 2022 sürüm 17.10'dan itibaren kullanılabilir.

Ayrıca bkz.

/arch (En düşük CPU mimarisi)
Önceden tanımlanmış makrolar
MSVC derleyici seçenekleri
MSVC derleyicisi komut satırı söz dizimi