Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
ARM64'te kod oluşturma için Arm A-Profile mimari uzantısını belirtir. Bu anahtarlar, derleyicinin ARM64 hedefleme sürümüne uygulanır. 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.x
2
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 lseiç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_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
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.0veya 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