/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 9
gerekli bir uzantı değeridir. Varsayılan olarak, mimari belirtilmezse derleyici bu davranışı kullanır /arch:armv8.0
.
/arch:armv9.x
2
Armv9-A mimarisini belirtir ve burada x
için 0
4
gerekli 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_LSE
etkinleştirmek için, seçenek haline gelmesi lse
için özellik bağımsız değişkenini /arch:armv8.0+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_LSE
sunulan 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
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.
> > Komut Satırı özellik sayfasını seçin.
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
- Bkz. AdditionalOptions.
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