Halaman Properti C/C++
Halaman properti berikut ditemukan di bawah Properti Properti>Proyek>Properti>Konfigurasi C/C++:
Properti Umum C/C++
Sertakan Direktori Tambahan
Menentukan satu atau beberapa direktori untuk ditambahkan ke jalur yang termasuk. Pisahkan direktori dengan titik koma (';
') jika ada lebih dari satu. /I
Mengatur opsi pengkompilasi (Tambahan termasuk direktori).
Direktori #using Tambahan
Menentukan satu atau beberapa direktori untuk dicari guna mengatasi nama yang #using
diteruskan ke direktif. Pisahkan direktori dengan titik koma (';
') jika ada lebih dari satu. /AI
Mengatur opsi pengkompilasi.
Direktori BMI tambahan
Menentukan satu atau beberapa direktori untuk dicari guna mengatasi nama yang diteruskan ke arahan import
. Pisahkan direktori dengan titik koma (';
') jika ada lebih dari satu. /ifcSearchDir[path]
Mengatur opsi pengkompilasi.
Dependensi Modul Tambahan
Menentukan satu atau beberapa modul yang akan digunakan untuk mengatasi nama yang diteruskan ke arahan import
. Pisahkan direktori dengan titik koma (';
') jika ada lebih dari satu. /reference
Mengatur opsi pengkompilasi.
Dependensi Unit Header Tambahan
Menentukan satu atau beberapa unit header yang akan digunakan untuk mengatasi nama yang import
diteruskan ke direktif header. Pisahkan direktori dengan titik koma (';
') jika ada lebih dari satu. /headerUnit
Mengatur opsi pengkompilasi.
Memindai Sumber untuk Dependensi Modul
Saat diatur ke Ya, pengkompilasi memindai semua sumber C++, bukan hanya antarmuka modul dan sumber unit header, untuk dependensi unit modul dan header. Sistem build membangun grafik dependensi lengkap, yang memastikan bahwa semua modul dan unit header yang diimpor dibangun sebelum mengkompilasi file yang bergantung padanya. Saat dikombinasikan dengan Terjemahkan Termasuk ke Impor, file header apa pun yang ditentukan dalam header-units.json
file dalam direktori yang sama dengan file header dikompilasi ke dalam unit header.
File yang memiliki ekstensi .ixx
, dan file yang memiliki properti>File C/C++>Compile As diatur ke Kompilasi sebagai C++ Header Unit (/exportHeader), selalu dipindai.
Terjemahkan Termasuk ke Impor
Saat diatur ke Ya, pengkompilasi memperlakukan #include
direktif sebagai import
arahan jika kondisi tertentu terpenuhi: File header ditentukan dalam header-units.json
file dalam direktori yang sama, dan unit header yang dikompilasi ( .ifc
file) tersedia untuk file header. Jika tidak, file header diperlakukan sebagai normal #include
. File header-units.json
digunakan untuk membangun unit header untuk masing-masing #include
tanpa duplikasi simbol. Ketika dikombinasikan dengan Sumber Pemindaian untuk Dependensi Modul, pengompilasi secara otomatis menemukan semua file header yang dapat dikompilasi ke dalam unit header. Properti ini mengatur /translateInclude
opsi pengkompilasi.
Format Informasi Penelusuran Kesalahan
Menentukan jenis informasi penelusuran kesalahan yang dihasilkan oleh pengompilasi. Properti ini memerlukan pengaturan linker yang kompatibel. /Z7
Mengatur opsi pengkompilasi , /Zi
, /ZI
(Format informasi debug).
Pilihan
- Tidak Ada - Tidak menghasilkan informasi penelusuran kesalahan, sehingga kompilasi dapat lebih cepat.
- Kompatibel C7 - Pilih jenis informasi penelusuran kesalahan yang dibuat untuk program Anda dan apakah informasi ini disimpan dalam file objek (.obj) atau dalam database program (PDB).
- Database Program - Menghasilkan database program (PDB) yang berisi informasi jenis dan informasi penelusuran kesalahan simbolis untuk digunakan dengan debugger. Informasi penelusuran kesalahan simbolis mencakup nama dan jenis variabel dan fungsi, dan nomor baris.
- Program Database for Edit And Continue - Menghasilkan database program, seperti yang dijelaskan sebelumnya, dalam format yang mendukung fitur Edit dan Lanjutkan .
Dukung Penelusuran Kesalahan Kode Saya Saja
Menambahkan kode pendukung untuk mengaktifkan penelusuran kesalahan Just My Code di unit kompilasi ini. Set ./JMC
Dukungan RunTime Bahasa Umum
Gunakan layanan runtime .NET. Sakelar ini tidak kompatibel dengan beberapa sakelar lain; lihat dokumentasi tentang /clr
keluarga sakelar untuk detailnya.
Pilihan
- Tidak Ada Dukungan RunTime Bahasa Umum - Tidak Ada Dukungan RunTime Bahasa Umum
- Dukungan RunTime Bahasa Umum - Membuat metadata untuk aplikasi Anda yang dapat digunakan oleh aplikasi CLR lainnya. Juga memungkinkan aplikasi Anda untuk menggunakan jenis dan data dalam metadata komponen CLR lainnya.
- Dukungan RunTime Bahasa Umum MSIL MSIL - Menghasilkan file output khusus MSIL tanpa kode yang dapat dieksekusi asli, meskipun dapat berisi jenis asli yang dikompilasi ke MSIL.
- Brankas Dukungan RunTime Bahasa Umum MSIL - Menghasilkan MSIL-only (tanpa kode asli yang dapat dieksekusi) dan file output yang dapat diverifikasi.
Menggunakan Ekstensi Runtime Windows
Gunakan ekstensi bahasa Windows Run Time. Set ./ZW
Sembunyikan Banner Startup
Menekan tampilan banner masuk saat pengompilasi memulai dan menampilkan pesan informasi selama kompilasi.
Tingkat Peringatan
Pilih seberapa ketat Anda ingin kompiler tentang kesalahan kode. Set ./W0
- /W4
Pilihan
- Nonaktifkan Semua Peringatan - Tingkat 0 menonaktifkan semua peringatan.
- Level1 - Tingkat 1 menampilkan peringatan parah. Tingkat 1 adalah tingkat peringatan default di baris perintah.
- Level2 - Tingkat 2 menampilkan semua peringatan dan peringatan tingkat 1 kurang parah dari level 1.
- Level3 - Level 3 menampilkan semua peringatan tingkat 2 dan semua peringatan lain yang direkomendasikan untuk tujuan produksi.
- Level4 - Level 4 menampilkan semua peringatan tingkat 3 ditambah peringatan informasi, yang dalam banyak kasus dapat diabaikan dengan aman.
- EnableAllWarnings - Mengaktifkan semua peringatan, termasuk yang dinonaktifkan secara default.
Perlakukan Peringatan Sebagai Kesalahan
Memperlakukan peringatan kompilator sebagai kesalahan. Untuk proyek baru, mungkin yang terbaik adalah menggunakan /WX
dalam setiap kompilasi. Atasi semua peringatan untuk meminimalkan cacat kode yang sulit ditemukan.
Versi Peringatan
Sembunyikan peringatan yang diperkenalkan setelah versi pengompilasi tertentu. Set ./Wv:xx[.yy[.zzzzz]]
Format Diagnostik
Memungkinkan diagnostik yang kaya, dengan informasi kolom dan konteks sumber dalam pesan diagnostik.
Pilihan
- Caret - Menyediakan informasi kolom dalam pesan diagnostik. Dan, menghasilkan baris kode sumber yang relevan dengan tanda sisipan yang menunjukkan kolom yang menyinggung.
- Info Kolom - Selain itu menyediakan nomor kolom dalam baris tempat diagnostik dikeluarkan, jika berlaku.
- Klasik - Hanya menghasilkan pesan diagnostik ringkas sebelumnya dengan nomor baris.
Pemeriksaan SDL
Pemeriksaan tambahan security development lifecycle (SDL) yang direkomendasikan; termasuk mengaktifkan fitur pembuatan kode aman tambahan dan memungkinkan peringatan tambahan yang relevan dengan keamanan sebagai kesalahan. Set , /sdl
/sdl-
.
Kompilasi Multi-prosesor
Aktifkan kompilasi multi-prosesor. /MP
Mengatur opsi pengkompilasi.
Aktifkan Address Sanitizer
Mengkompilasi dan menautkan program dengan instrumentasi AddressSanitizer. Properti ini saat ini mendukung build target x86 dan x64. /fsanitize
Mengatur opsi pengkompilasi.
Properti Pengoptimalan C/C++
Pengoptimalan
Pilih opsi untuk pengoptimalan kode; pilih Kustom untuk menggunakan opsi pengoptimalan tertentu. Set , /Od
/O1
, /O2
.
Pilihan
- Kustom - Pengoptimalan kustom.
- Dinonaktifkan - Nonaktifkan pengoptimalan.
- Pengoptimalan Maksimum (Ukuran Dukungan) - Setara dengan
/Os /Oy /Ob2 /Gs /GF /Gy
- Pengoptimalan Maksimum (Kecepatan Dukungan) - Setara dengan
/Oi /Ot /Oy /Ob2 /Gs /GF /Gy
- Pengoptimalan (Kecepatan Dukungan) - Setara dengan
/Oi /Ot /Oy /Ob2
Ekspansi Fungsi Sebaris
Pilih tingkat ekspansi fungsi sebaris untuk build. Set ./Ob
Pilihan
- Default
- Dinonaktifkan - Menonaktifkan ekspansi sebaris, yang aktif secara default.
- Hanya __inline - Hanya memperluas fungsi yang ditandai sebagai
inline
, ,__forceinline
atau__inline
. Atau, dalam fungsi anggota C++, yang ditentukan dalam deklarasi kelas. - Apa Pun yang Cocok - Memperluas fungsi yang ditandai sebagai
inline
atau__inline
dan fungsi lain yang dipilih pengkompilasi. (Ekspansi terjadi atas kebijaksanaan kompilator, sering disebut sebagai autoinlining.)
Aktifkan Fungsi Intrinsik
Mengaktifkan fungsi intrinsik. Menggunakan fungsi intrinsik menghasilkan kode yang lebih cepat, tetapi mungkin lebih besar. Set ./Oi
Ukuran atau Kecepatan Yang Disukai
Apakah akan mendukung ukuran kode atau kecepatan kode; 'Pengoptimalan Global' harus diaktifkan. Set , /Ot
/Os
.
Pilihan
- Mendukung kode kecil - Meminimalkan ukuran EXEs dan DLL dengan menginstruksikan pengkompilasi untuk mendukung ukuran di atas kecepatan.
- Mendukung kode cepat - Memaksimalkan kecepatan EXEs dan DLL dengan menginstruksikan pengkompilasi untuk mendukung kecepatan melebihi ukuran. (Nilai ini adalah default.)
- Baik - Tidak ada pengoptimalan ukuran dan kecepatan.
Hilangkan Penunjuk Bingkai
Menekan pembuatan pointer bingkai pada tumpukan panggilan.
Mengaktifkan Pengoptimalan Fiber-Brankas
Mengaktifkan pengoptimalan ruang memori saat menggunakan serat dan akses penyimpanan lokal utas. Set ./GT
Pengoptimalan Program Siapa le
Memungkinkan pengoptimalan lintas modul dengan menunda pembuatan kode untuk menautkan waktu. Memerlukan opsi linker Menautkan Pembuatan Kode Waktu. Set ./GL
Properti Praproscesor C/C++
Definisi Praprosesor
Menentukan simbol prapemrosesan untuk file sumber Anda.
Tidak menentukan Definisi Praprosesor
Menyebutkan satu atau beberapa praprosesor yang tidak ditentukan. Set ./U
Tidak Menentukan Semua Definisi Praprosesor
Tidak menentukan semua nilai pra-prosesor yang ditentukan sebelumnya. Set ./u
Abaikan Jalur Sertakan Standar
Mencegah pengkompilasi mencari sertakan file dalam direktori yang ditentukan dalam variabel lingkungan INCLUDE.
Prapemroscesan ke File
Praproses file sumber C dan C++, dan menulis output yang telah diproses sebelumnya ke file. Opsi ini menekan kompilasi, dan tidak menghasilkan .obj
file.
Preprocess Menekan Nomor Baris
Prapemroscesan tanpa arahan #line.
Pertahankan Komentar
Menekan strip komentar dari kode sumber; memerlukan pengaturan setidaknya salah satu opsi Pra-pemrosesan . Set ./C
Properti Pembuatan Kode C/C++
Aktifkan Pengumpulan String
Pengkompilasi hanya membuat satu salinan string identik baca-saja dalam gambar program. Ini menghasilkan program yang lebih kecil, pengoptimalan yang disebut pengumpulan string. /O1
, /O2
, dan /ZI
secara otomatis mengatur /GF
opsi.
Aktifkan Pembangunan Ulang Minimal
Mengaktifkan pembangunan ulang minimal, yang menentukan apakah akan mengkompilasi ulang file sumber C++ yang menyertakan definisi kelas C++ yang diubah, disimpan dalam file header .h
.
Aktifkan Pengecualian C++
Menentukan model penanganan pengecualian yang akan digunakan oleh pengkompilasi.
Pilihan
- Ya dengan Pengecualian SEH - Model penanganan pengecualian yang menangkap pengecualian asinkron (terstruktur) dan sinkron (C++). Set .
/EHa
- Ya - Model penanganan pengecualian yang hanya menangkap pengecualian C++ dan memberi tahu pengkompilasi untuk mengasumsikan bahwa fungsi C ekstern tidak pernah melempar pengecualian C++. Set .
/EHsc
- Ya dengan fungsi Extern C - Model penanganan pengecualian yang hanya menangkap pengecualian C++ dan memberi tahu pengkompilasi untuk mengasumsikan bahwa fungsi C ekstern memberikan pengecualian. Set .
/EHs
- Tidak - Tidak ada penanganan pengecualian.
Pemeriksaan Tipe Yang Lebih Kecil
Aktifkan pemeriksaan konversi ke jenis yang lebih kecil, tidak kompatibel dengan jenis pengoptimalan apa pun selain debug. Set ./RTCc
Pemeriksaan Runtime Dasar
Aktifkan pemeriksaan kesalahan runtime dasar, tidak kompatibel dengan jenis pengoptimalan apa pun selain debug. Set , /RTCs
/RTCu
, /RTC1
.
Pilihan
- Stack Frames - Mengaktifkan pemeriksaan kesalahan run-time bingkai tumpukan.
- Variabel yang tidak diinisialisasi - Melaporkan kapan variabel digunakan tanpa telah diinisialisasi.
- Keduanya (/RTC1, setara dengan /RTCsu) - Setara
/RTCsu
dengan . - Default - Pemeriksaan runtime default.
Pustaka Runtime
Tentukan pustaka runtime untuk penautan. Sets /MT
, /MTd
, /MD
, /MDd
.
Pilihan
- Multi-utas - Menyebabkan aplikasi Anda menggunakan versi statis multithread dari pustaka run-time.
- Debug Multi-utas
_DEBUG
- Mendefinisikan dan_MT
. Opsi ini juga menyebabkan pengkompilasi menempatkan namaLIBCMTD.lib
pustaka ke dalam.obj
file sehingga linker akan menggunakanLIBCMTD.lib
untuk mengatasi simbol eksternal. - DLL multi-utas - Menyebabkan aplikasi Anda menggunakan versi khusus multithread dan DLL dari pustaka run-time.
_MT
Menentukan dan_DLL
dan menyebabkan pengkompilasi menempatkan nama pustaka MSVCRT.lib ke.obj
dalam file. - DLL Debug multi-utas
_DEBUG
- Mendefinisikan ,_MT
, dan_DLL
menyebabkan aplikasi Anda menggunakan versi multithread debug dan khusus DLL dari pustaka run-time. Ini juga menyebabkan pengkompilasi menempatkan namaMSVCRTD.lib
pustaka ke.obj
dalam file.
Perataan Anggota Struct
Menentukan batas 1, 2, 4, atau 8 byte untuk perataan anggota struct. Set ./Zp
Pilihan
- 1 Byte - Mengemas struktur pada batas satu byte. Sama seperti
/Zp
. - 2 Byte - Mengemas struktur pada batas dua byte.
- 4 Byte - Mengemas struktur pada batas empat byte.
- 8 Byte - Mengemas struktur pada batas delapan byte (default).
- 16 Byte - Mengemas struktur pada batas enam belas byte.
- Default - Pengaturan perataan default.
Pemeriksaan Keamanan
Pemeriksaan Keamanan membantu mendeteksi stack-buffer yang berjalan berlebihan, serangan umum yang dicoba terhadap keamanan program.
Pilihan
- Nonaktifkan Pemeriksaan Keamanan - Nonaktifkan Pemeriksaan Keamanan. Set .
/GS-
- Aktifkan Pemeriksaan Keamanan - Aktifkan Pemeriksaan Keamanan. Set .
/GS
Control Flow Guard
Pemeriksaan keamanan penjaga membantu mendeteksi upaya pengiriman ke blok kode ilegal.
Pilihan
- Ya - Aktifkan Pemeriksaan Keamanan dengan Set
/guard:cf
Penjaga . - Tidak
Aktifkan Penautan Tingkat Fungsi
Memungkinkan pengkompilasi untuk mengemas fungsi individual dalam bentuk fungsi kemasan (COMDAT). Diperlukan untuk mengedit dan terus bekerja. Set ./Gy
Aktifkan Pembuatan Kode Paralel
Memungkinkan pengkompilasi menghasilkan kode paralel untuk perulangan yang diidentifikasi menggunakan #pragma loop(hint_parallel[(n)])
saat pengoptimalan diaktifkan.
Aktifkan Set Instruksi yang Ditingkatkan
Aktifkan penggunaan instruksi yang ditemukan pada prosesor yang mendukung set instruksi yang ditingkatkan. Misalnya, penyempurnaan SSE, SSE2, AVX, dan AVX2 ke IA-32. Dan, penyempurnaan AVX dan AVX2 ke x64. Saat ini /arch:SSE
dan /arch:SSE2
hanya tersedia saat membangun untuk arsitektur x86. Jika tidak ada opsi yang ditentukan, pengkompilasi menggunakan instruksi yang ditemukan pada prosesor yang mendukung SSE2. Penggunaan instruksi yang ditingkatkan dapat dinonaktifkan dengan /arch:IA32
. Untuk informasi selengkapnya, lihat /arch (x86)
, /arch (x64)
, /arch (ARM64)
, dan /arch (ARM)
.
Pilihan
- Ekstensi SIMD Streaming - Ekstensi SIMD Streaming. Set
/arch:SSE
- Ekstensi SIMD Streaming 2 - Ekstensi SIMD Streaming 2. Set
/arch:SSE2
- Ekstensi Vektor Tingkat Lanjut - Ekstensi Vektor Tingkat Lanjut. Set
/arch:AVX
- Ekstensi Vektor Tingkat Lanjut 2 - Ekstensi Vektor Tingkat Lanjut 2. Set
/arch:AVX2
- Tidak Ada Instruksi yang Ditingkatkan - Tidak Ada Instruksi yang Ditingkatkan. Set
/arch:IA32
- Tidak Diatur - Tidak Diatur.
Model Titik Mengambang
Atur model titik ambang. Set , /fp:precise
/fp:strict
, /fp:fast
.
Pilihan
- Tepat - Default. Meningkatkan konsistensi pengujian floating-point untuk kesetaraan dan ketidaksetaraan.
- Ketat - Model floating-point paling ketat.
/fp:strict
fp_contract
menyebabkan NONAKTIF danfenv_access
AKTIF./fp:except
tersirat dan dapat dinonaktifkan dengan secara eksplisit menentukan/fp:except-
. Ketika digunakan dengan/fp:except-
,/fp:strict
memberlakukan semantik floating-point yang ketat tetapi tanpa menghormati peristiwa luar biasa. - Cepat - Membuat kode tercepat dalam banyak kasus.
Aktifkan Pengecualian Titik Mengambang
Model pengecualian titik mengambang yang andal. Pengecualian akan dimunculkan segera setelah dipicu. Set ./fp:except
Buat Gambar Hotpatchable
Ketika hotpatching aktif, kompilator memastikan bahwa instruksi pertama dari setiap fungsi adalah dua byte, sebagaimana diperlukan untuk patching panas. Set ./hotpatch
Mitigasi Spectre
Mitigasi spektre untuk CVE 2017-5753. Set ./Qspectre
Pilihan
- Diaktifkan - Mengaktifkan fitur mitigasi Spectre untuk CVE 2017-5753
- Dinonaktifkan - Tidak Diatur.
Properti Bahasa C/C++
Nonaktifkan Ekstensi Bahasa
Menekan atau mengaktifkan ekstensi bahasa. Set ./Za
Perlakukan WChar_t Sebagai Jenis Bawaan
Ketika ditentukan, jenis wchar_t
menjadi jenis asli yang memetakan dengan __wchar_t
cara yang sama yang short
memetakan ke __int16
. /Zc:wchar_t
aktif secara default.
Paksa Kesuaian dalam Cakupan Perulangan
Menerapkan perilaku C++ standar untuk perulangan for
pernyataan dengan ekstensi Microsoft. Set , /Za
/Ze
(Nonaktifkan ekstensi bahasa. /Zc:forScope
aktif secara default.
Menghapus kode dan data yang tidak direferensikan
Ketika ditentukan, pengkompilasi tidak lagi menghasilkan informasi simbol untuk kode dan data yang tidak direferensikan.
Menerapkan aturan konversi jenis
Digunakan untuk mengidentifikasi jenis referensi rvalue sebagai hasil dari operasi cast sesuai dengan standar C++11.
Aktifkan Informasi Jenis Run-Time
Menambahkan kode untuk memeriksa jenis objek C++ pada waktu proses (informasi jenis runtime, atau RTTI). Set , /GR
/GR-
.
Buka Dukungan MP
Mengaktifkan ekstensi bahasa OpenMP 2.0. Set ./openmp
Standar Bahasa C++
Menentukan standar bahasa C++ yang diaktifkan pengkompilasi. Nilai default tidak mengatur opsi standar, sehingga pengkompilasi menggunakan pengaturan C++14 defaultnya. Jika Anda memilih nilai tertentu, opsi pengkompilasi yang /std
sesuai set.md).
Pilihan
- Default (ISO C++14 Standard)
- ISO C++14 Standard (/std:c++14)
- ISO C++17 Standard (/std:c++17)
- ISO C++20 Standard (/std:c++20)
- Pratinjau - Fitur dari Draf Kerja C++ Terbaru (/std:c++terbaru)
Standar Bahasa C
Menentukan standar bahasa C yang diaktifkan pengkompilasi. Nilai default tidak mengatur opsi standar, sehingga pengkompilasi menggunakan pengaturan MSVC warisan defaultnya. Jika Anda memilih nilai tertentu, opsi pengkompilasi yang /std
sesuai set.md).
Pilihan
- Default (MSVC Warisan)
- ISO C11 Standard (/std:c11)
- ISO C17 (2018) Standard (/std:c17)
Mode kesuaian
Mengaktifkan atau menekan mode kesesuaian. Set ./permissive-
Aktifkan Modul Pustaka Standar C++ Eksperimental
Dukungan eksperimental untuk modul TS modul C++ dan Pustaka Standar.
Membangun Modul Pustaka Standar ISO C++23
Mulai dari Visual Studio 17.6, ketika properti ini diaktifkan dan Standar Bahasa C++ diatur ke /std:c++latest
, proyek Visual C++ secara otomatis menemukan dan membangun modul Pustaka Standar ISO C++23. Ini memungkinkan Anda untuk import std
atau import std.compat
dalam kode C++ Anda.
Properti Header C/C++ yang Telah Dikompreilasi
Membuat/Menggunakan Header yang Telah Dikompresi
Memungkinkan pembuatan atau penggunaan header yang telah dikompilasikan sebelumnya selama build. Set , /Yc
/Yu
.
Pilihan
- Buat - Menginstruksikan pengkompilasi untuk membuat file header (
.pch
) yang telah dikompilasi sebelumnya yang mewakili status kompilasi pada titik tertentu. - Gunakan - Menginstruksikan pengkompilasi untuk menggunakan file header (
.pch
) yang sudah dikompilasi sebelumnya dalam kompilasi saat ini. - Tidak Menggunakan Header yang Telah Dikompresi - Tidak menggunakan header yang telah dikommpilasikan sebelumnya.
File Header yang Telah Dikompresi
Menentukan nama file header yang akan digunakan saat membuat atau menggunakan file header yang telah dikommpilasikan sebelumnya. Set , /Yc
/Yu
.
File Output Header yang Telah Dikompresi
Menentukan jalur atau nama file header yang dihasilkan sebelumnya. Set ./Fp
Properti File Output C/C++
Perluas Sumber Berkait
Buat file daftar dengan atribut yang diperluas yang disuntikkan ke dalam file sumber. Set ./Fx
Output Perakitan
Menentukan isi file hasil bahasa rakitan. Sets /FA
, /FAc
, /FAs
, /FAcs
.
Pilihan
- Tidak Ada Daftar - Tidak ada daftar.
- Daftar Assembly-Only - Kode assembly;
.asm
- Rakitan Dengan Kode Mesin - Mesin dan kode perakitan;
.cod
- Assembly With Source Code - Kode sumber dan assembly;
.asm
- Assembly, Machine Code and Source - Assembly, kode mesin dan kode sumber;
.cod
Menggunakan unicode untuk daftar perakitan
Menyebabkan file output dibuat dalam format UTF-8.
Lokasi Daftar ASM
Menentukan jalur atau nama relatif untuk file daftar ASM; dapat berupa nama file atau direktori. Set ./Fa
Nama File Objek
Menentukan nama untuk mengganti nama file objek default; dapat berupa nama file atau direktori. Set ./Fo
Nama File Database Program
Menentukan nama untuk file PDB yang dihasilkan kompilator; juga menentukan nama dasar untuk file IDB yang dihasilkan kompilator yang diperlukan; dapat berupa nama file atau direktori. Set ./Fd
Buat File Dokumentasi XML
Menentukan bahwa pengkompilasi harus menghasilkan file komentar dokumentasi XML (. XDC). Set ./doc
Nama File Dokumentasi XML
Menentukan nama file dokumentasi XML yang dihasilkan; dapat berupa nama file atau direktori. /doc:
<Mengatur nama.>
C/C++ Telusuri Properti Informasi
Aktifkan Telusuri Informasi
Menentukan tingkat informasi telusur dalam .bsc
file. Set ./FR
Telusuri File Informasi
Menentukan nama opsional untuk file informasi browser. /FR
<Mengatur nama.>
Eksternal Termasuk
Perlakukan File yang Disertakan dengan Kurung Sudut sebagai Eksternal
Menentukan apakah akan memperlakukan file yang disertakan dengan tanda kurung sudut sebagai eksternal. Atur properti ini ke Ya untuk mengatur /external:anglebrackets
opsi pengkompilasi.
Tingkat Peringatan Header Eksternal
Pilih seberapa ketat Anda ingin pengkompilasi tentang kesalahan kode di header eksternal. Properti ini mengatur /external:Wn
opsi pengkompilasi. Jika nilai ini diatur ke Mewarisi Tingkat Peringatan Proyek atau default, opsi lain /external
diabaikan.
Diagnostik Templat di Header Eksternal
Menentukan apakah akan mengevaluasi tingkat peringatan di seluruh rantai instansiasi templat. Atur properti ini ke Ya untuk mengatur /external:templates-
opsi pengkompilasi.
Menonaktifkan Analisis Kode untuk Header Eksternal
Menonaktifkan analisis kode untuk header eksternal. /analyze:external-
Mengatur opsi pengkompilasi.
Aturan Analisis untuk Header Eksternal
Menentukan penggantian aturan analisis kode untuk header eksternal. Jika tidak ditentukan, pengaturan Analisis Kode digunakan. /analyze:external:ruleset path
Mengatur opsi pengkompilasi.
Properti Tingkat Lanjut C/C++
Konvensi Panggilan
Pilih konvensi panggilan default untuk aplikasi Anda (dapat ditimpa oleh fungsi). Sets /Gd
, /Gr
, /Gz
, /Gv
.
Pilihan
__cdecl
- Menentukan__cdecl
konvensi panggilan untuk semua fungsi kecuali fungsi dan fungsi anggota C++ yang ditandai__stdcall
atau__fastcall
.__fastcall
- Menentukan__fastcall
konvensi panggilan untuk semua fungsi kecuali fungsi dan fungsi anggota C++ yang ditandai__cdecl
atau__stdcall
. Semua__fastcall
fungsi harus memiliki prototipe.__stdcall
- Menentukan__stdcall
konvensi panggilan untuk semua fungsi kecuali fungsi dan fungsi anggota C++ yang ditandai__cdecl
atau__fastcall
. Semua__stdcall
fungsi harus memiliki prototipe.__vectorcall
- Menentukan__vectorcall
konvensi panggilan untuk semua fungsi kecuali fungsi dan fungsi anggota C++ yang ditandai__cdecl
, ,__fastcall
atau__stdcall
. Semua__vectorcall
fungsi harus memiliki prototipe.
Kompilasi Sebagai
Pilih opsi kompilasi bahasa untuk file sumber. Mengatur opsi , /TP
, /interface, /internalPartition
, atau /exportHeader
./TC
Pilihan
- Default - Default.
- Kompilasi sebagai Kode C (
/TC
) - Kompilasi file sumber tertentu sebagai kode C. Secara default, file dengan.c
ekstensi dikompilasi sebagai C. - Kompilasi sebagai Kode C++ (
/TP
) - Kompilasi file sumber tertentu sebagai kode C++. Secara default, semua file sumber yang tidak memiliki.c
, ,.ixx
,.cppm
.h
, atau tidak ada ekstensi yang dikompilasi sebagai C++. - Kompilasi sebagai Kode Modul C++ (
/interface
) - Kompilasi file sumber tertentu sebagai kode modul C++. Secara default, file dengan.ixx
ekstensi atau.cppm
dikompilasi sebagai kode modul C++. - Kompilasi sebagai Partisi Internal Modul C++ (
/internalPartition
) - Kompilasi file sumber tertentu sebagai partisi internal modul C++. - Kompilasi sebagai Unit Header C++ (
/exportHeader
) - Kompilasi file sumber tertentu sebagai unit header C++. Secara default, file dengan.h
ekstensi atau tidak ada ekstensi yang dikompilasi sebagai unit header.
Nonaktifkan Peringatan Tertentu
Nonaktifkan nomor peringatan yang ditentukan. Letakkan angka peringatan dalam daftar yang dibatasi titik koma. /wd
<Mengatur nomor.>
File Sertakan Paksa
satu atau beberapa file yang dipaksakan termasuk. /FI
<Mengatur nama.>
File #using Paksa
Menentukan satu atau beberapa file #using paksa. /FU
<Mengatur nama.>
Tunjukkan Sertakan
Menghasilkan daftar file yang termasuk dengan output pengompilasi. Set ./showIncludes
Gunakan Jalur Lengkap
Gunakan jalur lengkap dalam pesan diagnostik. Set ./FC
Hilangkan Nama Pustaka Default
Tidak menyertakan nama pustaka default dalam .obj
file. Set ./Zl
Pelaporan Kesalahan Kompilator Internal
Catatan
Opsi ini tidak digunakan lagi. Dimulai di Windows Vista, pelaporan kesalahan dikontrol oleh pengaturan Pelaporan Galat Windows (WER).
Perlakukan Peringatan Spesifik Sebagai Kesalahan
Memperlakukan peringatan kompilator tertentu sebagai kesalahan di mana n adalah peringatan kompilator.
Opsi Tambahan
Opsi Tambahan.
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk