Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Menentukan ekstensi arsitektur Arm A-Profile untuk pembuatan kode di ARM64. Sakelar ini berlaku untuk versi penargetan ARM64 dari pengkompilasi. Untuk informasi selengkapnya tentang /arch arsitektur target lainnya, lihat /arch (x86), /arch (x64), dan /arch (ARM).
Sintaks
/arch:<armv8.0|armv8.1|armv8.2|armv8.3|armv8.4|armv8.5|armv8.6|armv8.7|armv8.8|armv8.9>[+fitur]
/arch:<armv9.0|armv9.1|armv9.2|armv9.3|armv9.4>[+fitur]
Argumen
/arch:armv8.x
Menentukan arsitektur Armv8-A, di mana x merupakan nilai ekstensi yang diperlukan dari 0 ke 91. Secara default, pengkompilasi menggunakan /arch:armv8.0 perilaku jika tidak ada arsitektur yang ditentukan.
/arch:armv9.x
2
Menentukan arsitektur Armv9-A, di mana x adalah nilai ekstensi yang diperlukan dari 0 ke 4. Secara default, pengkompilasi menggunakan /arch:armv8.0 perilaku jika tidak ada arsitektur yang ditentukan.
Keterangan
Anda dapat menentukan ekstensi ARM64 dari Armv8.0-A hingga Armv8.9-A, dan Armv9.0-A melalui Armv9.4-A. Secara opsional, aktifkan satu atau beberapa fitur arsitektur dengan menambahkan argumen fitur ke opsi3. Misalnya, untuk menargetkan Armv8.0-A dan mengaktifkan fitur FEAT_LSE, tambahkan argumen lse fitur sehingga opsi menjadi /arch:armv8.0+lse. Untuk informasi selengkapnya tentang fitur yang tersedia dan persyaratannya, lihat /feature3.
Catatan
Bergantung pada versi Visual Studio Anda, pengkompilasi mungkin belum menghasilkan instruksi dari semua set fitur yang diperlukan oleh tingkat ekstensi yang Anda tentukan. Misalnya, /arch:armv8.1 memungkinkan Interlocked fungsi intrinsik untuk menggunakan instruksi atom yang sesuai yang diperkenalkan dengan fitur FEAT_LSEekstensi Armv8.1-A , tetapi dukungan kompilator memerlukan Visual Studio 2022 versi 17.2 atau yang lebih baru.
_M_ARM64 Makro didefinisikan secara default saat mengkompilasi untuk target ARM64. Untuk informasi selengkapnya, lihat Makro yang telah ditentukan sebelumnya.
__ARM_ARCH Makro didefinisikan untuk /arch:ARMv8.0 dan lebih tinggi. Ini menunjukkan tingkat ekstensi arsitektur ARM yang ditargetkan pengkompilasi. Untuk informasi selengkapnya, lihat Makro yang telah ditentukan sebelumnya.
#if __ARM_ARCH >= 802
// code that requires ARMv8.2...
#endif
/arch hanya memengaruhi pembuatan kode untuk fungsi asli. Saat Anda menggunakan /clr untuk mengkompilasi, /arch tidak berpengaruh pada pembuatan kode untuk fungsi terkelola.
Untuk mengatur /arch opsi pengkompilasi di Visual Studio
Buka kotak dialog Halaman Properti untuk proyek. Untuk informasi selengkapnya, lihat Mengatur pengkompilasi C++ dan membuat properti di Visual Studio.
Pilih halaman properti Properti>> Perintah.
Dalam kotak Opsi tambahan, tambahkan
/arch:armv8.0atau gantiarmv8.0dengan ekstensi ARM64 yang berbeda. Pilih OK untuk menyimpan perubahan.
Untuk mengatur opsi pengkompilasi ini secara terprogram
- Lihat AdditionalOptions.
1 Ekstensi armv8.9 arsitektur Armv8-A tersedia mulai visual Studio 2022 versi 17.10.
2 Ekstensi arsitektur Armv9-A tersedia mulai visual Studio 2022 versi 17.10.
3 Pengaktifan fitur Arsitektur tersedia mulai dari Visual Studio 2022 versi 17.10.
Lihat juga
/arch (Arsitektur CPU minimum)
Makro yang telah ditentukan sebelumnya
Opsi pengkompilasi MSVC
Sintaks baris perintah pengkompilasi MSVC