Opsi pengompilasi tercantum menurut abjad
Tabel ini berisi daftar abjad opsi pengkompilasi. Untuk daftar opsi pengkompilasi menurut kategori, lihat artikel Opsi pengkompilasi yang tercantum menurut kategori .
Opsi pengompilasi
Opsi | Tujuan |
---|---|
@ |
Menentukan file respons. |
/? |
Mencantumkan opsi pengkompilasi. |
/AI<dir> |
Menentukan direktori yang akan dicari untuk menyelesaikan referensi file yang diteruskan ke arahan #using . |
/analyze |
Mengaktifkan analisis kode. |
/arch |
Persyaratan arsitektur CPU minimum. |
/arm64EC |
Hasilkan kode yang kompatibel dengan arm64EC ABI. |
/await |
Aktifkan ekstensi koroutine (fungsi yang dapat diulang). |
/await:strict |
Aktifkan dukungan coroutine C++20 standar dengan versi bahasa yang lebih lama. |
/bigobj |
Meningkatkan jumlah bagian yang dapat diatasi dalam file .obj. |
/C |
Mempertahankan komentar selama pra-pemrosesan. |
/c |
Mengkompilasi tanpa menautkan. |
/cgthreads |
Menentukan jumlah utas cl.exe yang akan digunakan untuk pengoptimalan dan pembuatan kode. |
/clr |
Menghasilkan file output untuk dijalankan pada runtime bahasa umum. |
/clr:implicitKeepAlive- |
Matikan emisi implisit .System::GC::KeepAlive(this) |
/clr:initialAppDomain |
Aktifkan perilaku AppDomain awal Visual C++ 2002. |
/clr:netcore |
Menghasilkan rakitan yang menargetkan runtime .NET Core. |
/clr:noAssembly |
Jangan menghasilkan assembly. |
/clr:nostdimport |
Jangan impor rakitan yang diperlukan secara implisit. |
/clr:nostdlib |
Abaikan direktori .NET framework sistem saat mencari rakitan. |
/clr:pure |
Menghasilkan file output il-only (tidak ada kode native executable). |
/clr:safe |
Menghasilkan file output il-only yang dapat diverifikasi. |
/constexpr:backtrace<N> |
Tampilkan evaluasi N constexpr dalam diagnostik (default: 10). |
/constexpr:depth<N> |
Batas kedalaman rekursi untuk constexpr evaluasi (default: 512). |
/constexpr:steps<N> |
constexpr Hentikan evaluasi setelah langkah-langkah N (default: 100000) |
/D<name>{=|#}<text> |
Menentukan konstanta dan makro. |
/diagnostics |
Format diagnostik: mencetak informasi kolom. |
/diagnostics:caret[-] |
Format diagnostik: mencetak kolom dan baris sumber yang ditunjukkan. |
/diagnostics:classic |
Gunakan format diagnostik warisan. |
/doc |
Memproses komentar dokumentasi ke file XML. |
/E |
Menyalin output pra-prosesor ke output standar. |
/EHa |
Aktifkan penanganan pengecualian C++ (dengan pengecualian SEH). |
/EHc |
extern "C" defaultnya adalah nothrow . |
/EHr |
Selalu hasilkan noexcept pemeriksaan penghentian runtime. |
/EHs |
Aktifkan penanganan pengecualian C++ (tidak ada pengecualian SEH). |
/EP |
Menyalin output pra-prosesor ke output standar. |
/errorReport |
Ditolak. pengaturan Pelaporan Galat Windows (WER) mengontrol pelaporan kesalahan. |
/execution-charset |
Atur set karakter eksekusi. |
/experimental:log |
Mengaktifkan output SARIF terstruktur eksperimental. |
/experimental:module |
Mengaktifkan dukungan modul eksperimental. |
/exportHeader |
Buat file unit header (.ifc ) yang ditentukan oleh argumen input. |
/external:anglebrackets |
Perlakukan semua header yang disertakan melalui <> sebagai eksternal. |
/external:env:<var> |
Tentukan variabel lingkungan dengan lokasi header eksternal. |
/external:I <path> |
Tentukan lokasi header eksternal. |
/external:templates[-] |
Evaluasi tingkat peringatan di seluruh rantai instansiasi templat. |
/external:W<n> |
Atur tingkat peringatan untuk header eksternal. |
/F |
Mengatur ukuran tumpukan. |
/FA |
Mengonfigurasi file daftar rakitan. |
/Fa |
Membuat file daftar rakitan. |
/fastfail |
Aktifkan mode gagal cepat. |
/favor:<blend|AMD64|INTEL64|ATOM> |
Menghasilkan kode yang dioptimalkan untuk arsitektur tertentu, atau untuk berbagai arsitektur. |
/FC |
Menampilkan jalur lengkap file kode sumber yang diteruskan ke cl.exe dalam teks diagnostik. |
/Fd |
Mengganti nama file database program. |
/Fe |
Mengganti nama file yang dapat dieksekusi. |
/feature |
Aktifkan fitur arsitektur.17.10 |
/FI<file> |
Praproses file include yang ditentukan. |
/Fi |
Menentukan nama file output yang telah diprossesi sebelumnya. |
/Fm |
Membuat mapfile. |
/Fo |
Membuat file objek. |
/Fp |
Menentukan nama file header yang telah dikommpilasikan sebelumnya. |
/fp:contract |
Pertimbangkan kontraksi floating-point saat menghasilkan kode. |
/fp:except[-] |
Pertimbangkan pengecualian floating-point saat membuat kode. |
/fp:fast |
model floating-point "cepat"; hasilnya kurang dapat diprediksi. |
/fp:precise |
model floating-point "presis" ; hasilnya dapat diprediksi. |
/fp:strict |
Model floating-point "ketat" (menyiratkan /fp:except ). |
/fpcvt:BC |
Titik mengambang yang kompatibel mundur ke konversi bilangan bulat yang tidak ditandatangani. |
/fpcvt:IA |
Floating-point asli Intel ke perilaku konversi bilangan bulat yang tidak ditandatangani. |
/FR , /Fr |
Nama file browser yang dihasilkan .sbr . /Fr tidak digunakan lagi. |
/FS |
Memaksa penulisan ke file PDB untuk diserialisasikan melalui MSPDBSRV.EXE. |
/fsanitize |
Memungkinkan kompilasi instrumentasi sanitizer seperti AddressSanitizer. |
/fsanitize-coverage |
Memungkinkan kompilasi instrumentasi cakupan kode untuk pustaka seperti LibFuzzer. |
/Ft<dir> |
Lokasi file header yang dihasilkan untuk #import . |
/FU<file> |
Memaksa penggunaan nama file, seolah-olah telah diteruskan ke arahan #using . |
/Fx |
Menggabungkan kode yang disuntikkan dengan file sumber. |
/GA |
Mengoptimalkan untuk aplikasi Windows. |
/Gd |
__cdecl Menggunakan konvensi panggilan. (hanya x86) |
/Ge |
Ditolak. Mengaktifkan pemeriksaan tumpukan. |
/GF |
Mengaktifkan pengumpulan string. |
/GH |
Memanggil fungsi _pexit hook . |
/Gh |
Memanggil fungsi _penter hook . |
/GL[-] |
Mengaktifkan pengoptimalan seluruh program. |
/Gm[-] |
Ditolak. Mengaktifkan pembangunan ulang minimal. |
/GR[-] |
Mengaktifkan informasi jenis run-time (RTTI). |
/Gr |
__fastcall Menggunakan konvensi panggilan. (hanya x86) |
/GS[-] |
Memeriksa keamanan buffer. |
/Gs[n] |
Mengontrol pemeriksaan tumpukan. |
/GT |
Mendukung keamanan serat untuk data yang dialokasikan dengan menggunakan penyimpanan lokal utas statis. |
/Gu[-] |
Pastikan fungsi yang berbeda memiliki alamat yang berbeda. |
/guard:cf[-] |
Menambahkan pemeriksaan keamanan pelindung alur kontrol. |
/guard:ehcont[-] |
Mengaktifkan metadata kelanjutan EH. |
/Gv |
__vectorcall Menggunakan konvensi panggilan. (hanya x86 dan x64) |
/Gw[-] |
Memungkinkan pengoptimalan data global seluruh program. |
/GX[-] |
Ditolak. Mengaktifkan penanganan pengecualian sinkron. Gunakan /EH sebagai gantinya. |
/Gy[-] |
Mengaktifkan penautan tingkat fungsi. |
/GZ |
Ditolak. Mengaktifkan pemeriksaan cepat. (Sama seperti /RTC1 ) |
/Gz |
__stdcall Menggunakan konvensi panggilan. (hanya x86) |
/H |
Ditolak. Membatasi panjang nama eksternal (publik). |
/headerName |
Buat unit header dari header yang ditentukan. |
/headerUnit |
Tentukan tempat menemukan file unit header (.ifc ) untuk header yang ditentukan. |
/HELP |
Mencantumkan opsi pengkompilasi. |
/homeparams |
Memaksa parameter yang diteruskan dalam register untuk ditulis ke lokasi mereka pada tumpukan setelah entri fungsi. Opsi pengkompilasi ini hanya untuk kompilator x64 (kompilasi asli dan silang). |
/hotpatch |
Membuat gambar yang dapat di-hotpatch. |
/I<dir> |
Mencari direktori untuk menyertakan file. |
/ifcOutput |
Tentukan nama file output atau direktori untuk file bawaan .ifc . |
/interface |
Perlakukan file input sebagai unit antarmuka modul. |
/internalPartition |
Perlakukan file input sebagai unit partisi internal. |
/J |
Mengubah jenis default char . |
/jumptablerdata |
Letakkan tabel lompat pernyataan kasus pengalihan di bagian .rdata . |
/JMC |
Mendukung penelusuran kesalahan C++ Just My Code asli. |
/kernel |
Compiler dan linker membuat biner yang dapat dijalankan di kernel Windows. |
/LD |
Membuat pustaka tautan dinamis. |
/LDd |
Membuat pustaka tautan dinamis debug. |
/link |
Meneruskan opsi yang ditentukan ke LINK. |
/LN |
Membuat MSIL .netmodule . |
/MD |
Mengkompilasi untuk membuat DLL multithreaded, dengan menggunakan MSVCRT.lib. |
/MDd |
Kompilasi untuk membuat DLL multithread debug, dengan menggunakan MSVCRTD.lib. |
/MP |
Membangun beberapa file sumber secara bersamaan. |
/MT |
Mengkompilasi untuk membuat file multithreaded executable, dengan menggunakan LIBCMT.lib. |
/MTd |
Mengkompilasi untuk membuat file eksekusi multithread debug, dengan menggunakan LIBCMTD.lib. |
/nologo |
Menekan tampilan banner masuk. |
/O1 |
Membuat kode kecil. |
/O2 |
Membuat kode cepat. |
/Ob<n> |
Mengontrol ekspansi sebaris. |
/Od |
Menonaktifkan pengoptimalan. |
/Og |
Ditolak. Menggunakan pengoptimalan global. |
/Oi[-] |
Menghasilkan fungsi intrinsik. |
/openmp |
#pragma omp Mengaktifkan dalam kode sumber. |
/openmp:experimental |
Aktifkan ekstensi bahasa OpenMP 2.0 ditambah pilih ekstensi bahasa OpenMP 3.0+. |
/openmp:llvm |
Ekstensi bahasa OpenMP menggunakan runtime LLVM. |
/options:strict |
Opsi pengkompilasi yang tidak dikenal adalah kesalahan. |
/Os |
Mendukung kode kecil. |
/Ot |
Mendukung kode cepat. |
/Ox |
Subset /O2 yang tidak menyertakan /GF atau /Gy. |
/Oy |
Menghilangkan penunjuk bingkai. (hanya x86) |
/P |
Menulis output pra-prosesor ke file. |
/PD |
Cetak semua definisi makro. |
/permissive[-] |
Atur mode kesuaian standar. |
/PH |
Hasilkan #pragma file_hash saat praproscesing. |
/presetPadding |
Nol menginisialisasi padding untuk jenis kelas berbasis tumpukan. |
/Qfast_transcendentals |
Menghasilkan transcendental yang cepat. |
/QIfist |
Ditolak. Menekan panggilan fungsi _ftol pembantu saat konversi dari jenis floating-point ke jenis integral diperlukan. (hanya x86) |
/Qimprecise_fwaits |
fwait Menghapus perintah di dalam try blok. |
/QIntel-jcc-erratum |
Mengurangi dampak performa pembaruan mikrokode erratum Intel JCC. |
/Qpar-report:<n> |
Mengaktifkan tingkat pelaporan untuk paralelisasi otomatis. |
/Qpar |
Mengaktifkan paralelisasi otomatis perulangan. |
/Qsafe_fp_loads |
Menggunakan instruksi pemindahan bilangan bulat untuk nilai floating-point dan menonaktifkan pengoptimalan beban titik mengambang tertentu. |
/Qspectre[-] |
Aktifkan mitigasi untuk CVE 2017-5753, untuk kelas serangan Spectre. |
/Qspectre-load |
Hasilkan instruksi serialisasi untuk setiap instruksi beban. |
/Qspectre-load-cf |
Hasilkan instruksi serialisasi untuk setiap instruksi alur kontrol yang memuat memori. |
/Qvec-report:<n> |
Mengaktifkan tingkat pelaporan untuk vektorisasi otomatis. |
/reference |
Gunakan modul bernama IFC. |
/RTC1 |
Aktifkan pemeriksaan runtime cepat (setara dengan /RTCsu ). |
/RTCc |
Konversi ke pemeriksaan jenis yang lebih kecil pada run-time. |
/RTCs |
Aktifkan pemeriksaan runtime bingkai tumpukan. |
/RTCu |
Mengaktifkan pemeriksaan penggunaan lokal yang tidak diinisialisasi. |
/scanDependencies |
Cantumkan dependensi modul dalam formulir JSON Standar C++. |
/sdl |
Aktifkan lebih banyak fitur dan peringatan keamanan. |
/showIncludes |
Menampilkan daftar semua berkas yang disertakan selama kompilasi. |
/source-charset |
Atur set karakter sumber. |
/sourceDependencies |
Mencantumkan semua dependensi tingkat sumber. |
/sourceDependencies:directives |
Mencantumkan dependensi modul dan unit header. |
/std:c++14 |
C++14 standar ISO/IEC 14882:2014 (default). |
/std:c++17 |
C++17 standar ISO/IEC 14882:2017. |
/std:c++20 |
C++20 standar ISO/IEC 14882:2020. |
/std:c++latest |
Draf terbaru fitur pratinjau standar C++. |
/std:c11 |
ISO/IEC standar C11 9899:2011. |
/std:c17 |
ISO/IEC standar C17 9899:2018. |
/std:clatest |
Fitur pratinjau standar draf C terbaru. |
/TC |
Menentukan semua file sumber adalah C. |
/Tc |
Menentukan file sumber C. |
/TP |
Menentukan semua file sumber adalah C++. |
/Tp |
Menentukan file sumber C++. |
/translateInclude |
Perlakukan #include sebagai import . |
/U<name> |
Menghapus makro yang telah ditentukan sebelumnya. |
/u |
Menghapus semua makro yang telah ditentukan sebelumnya. |
/utf-8 |
Atur set karakter sumber dan eksekusi ke UTF-8. |
/V |
Ditolak. Mengatur string versi. |
/validate-charset |
Validasi file UTF-8 hanya untuk karakter yang kompatibel. |
/vd{0|1|2} |
Menekan atau mengaktifkan anggota kelas tersembunyi vtordisp . |
/vmb |
Menggunakan basis terbaik untuk penunjuk ke anggota. |
/vmg |
Menggunakan umumitas penuh untuk penunjuk ke anggota. |
/vmm |
Menyatakan beberapa warisan. |
/vms |
Menyatakan warisan tunggal. |
/vmv |
Menyatakan warisan virtual. |
/volatile:iso |
Semantik peroleh/rilis tidak dijamin pada akses volatil. |
/volatile:ms |
Memperoleh/merilis semantik yang dijamin pada akses volatil. |
/volatileMetadata |
Hasilkan metadata pada akses memori volatil. |
/w |
Nonaktifkan semua peringatan. |
/W0 , , /W1 /W2 , , /W3 ,/W4 |
Atur tingkat peringatan output. |
/w1<n> , , /w2<n> /w3<n> ,/w4<n> |
Atur tingkat peringatan untuk peringatan yang ditentukan. |
/Wall |
Aktifkan semua peringatan, termasuk peringatan yang dinonaktifkan secara default. |
/wd<n> |
Nonaktifkan peringatan yang ditentukan. |
/we<n> |
Perlakukan peringatan yang ditentukan sebagai kesalahan. |
/WL |
Aktifkan diagnostik satu baris untuk pesan kesalahan dan peringatan saat mengkompilasi kode sumber C++ dari baris perintah. |
/wo<n> |
Tampilkan peringatan yang ditentukan hanya sekali. |
/Wv:xx[.yy[.zzzzz]] |
Nonaktifkan peringatan yang diperkenalkan setelah versi pengompilasi yang ditentukan. |
/WX |
Perlakukan peringatan sebagai kesalahan. |
/X |
Mengabaikan standar menyertakan direktori. |
/Y- |
Mengabaikan semua opsi kompilator header prakompilasi lainnya dalam build saat ini. |
/Yc |
Buat .PCH file. |
/Yd |
Ditolak. Menempatkan informasi penelusuran kesalahan lengkap di semua file objek. Gunakan /Zi sebagai gantinya. |
/Yl |
Menyuntikkan referensi PCH saat membuat pustaka debug. |
/Yu |
Menggunakan file header yang telah dikommpilasikan sebelumnya selama build. |
/Z7 |
Menghasilkan informasi penelusuran kesalahan yang kompatibel dengan C 7.0. |
/Za |
Menonaktifkan beberapa ekstensi bahasa C89 dalam kode C. |
/Zc:__cplusplus[-] |
Aktifkan __cplusplus makro untuk melaporkan standar yang didukung (nonaktif secara default). |
/Zc:__STDC__ |
Aktifkan __STDC__ makro untuk melaporkan standar C didukung (nonaktif secara default). |
/Zc:alignedNew[-] |
Aktifkan Alokasi dinamis C++17 yang terlalu selaras (aktif secara default di C++17). |
/Zc:auto[-] |
Terlaksanakan arti Standar C++ baru untuk auto (aktif secara default). |
/Zc:char8_t[-] |
Aktifkan atau nonaktifkan dukungan literal asli u8 C++20 sebagai const char8_t (nonaktif secara default, kecuali di bawah /std:c++20 ). |
/Zc:enumTypes[-] |
Aktifkan aturan C++ Standar untuk enum pengurangan jenis (nonaktif secara default). |
/Zc:externC[-] |
Menerapkan aturan C++ Standar untuk extern "C" fungsi (tersirat oleh /permissive- ). |
/Zc:externConstexpr[-] |
Aktifkan tautan eksternal untuk constexpr variabel (nonaktif secara default). |
/Zc:forScope[-] |
Menerapkan aturan cakupan C++ for Standar (aktif secara default). |
/Zc:gotoScope |
Menerapkan aturan C++ goto Standar sekeliling inisialisasi variabel lokal (tersirat oleh /permissive- ). |
/Zc:hiddenFriend[-] |
Menerapkan aturan teman tersembunyi C++ Standar (tersirat oleh /permissive- ) |
/Zc:implicitNoexcept[-] |
Aktifkan implisit noexcept pada fungsi yang diperlukan (aktif secara default). |
/Zc:inline[-] |
Hapus fungsi atau data yang tidak direferensikan jika COMDAT atau hanya memiliki tautan internal (nonaktif secara default). |
/Zc:lambda[-] |
Aktifkan prosesor lambda baru untuk pemeriksaan sindikat mode kesesuaian dalam lambda generik. |
/Zc:noexceptTypes[-] |
Menerapkan aturan C++17 noexcept (aktif secara default di C++17 atau yang lebih baru). |
/Zc:nrvo[-] |
Aktifkan salinan opsional dan pindahkan elisi (aktif secara default di bawah /O2 , , /permissive- atau yang /std:c++20 lebih baru). |
/Zc:preprocessor[-] |
Gunakan prapemrosepakatan baru (nonaktif secara default, kecuali di C11/C17). |
/Zc:referenceBinding[-] |
Sementara UDT tidak akan mengikat referensi lvalue non-const (nonaktif secara default). |
/Zc:rvalueCast[-] |
Terapkan aturan konversi jenis eksplisit C++ Standar (nonaktif secara default). |
/Zc:sizedDealloc[-] |
Aktifkan fungsi dealokasi berukuran global C++14 (aktif secara default). |
/Zc:strictStrings[-] |
Nonaktifkan string-literal ke char* atau wchar_t* konversi (nonaktif secara default). |
/Zc:templateScope[-] |
Terapkan aturan bayangan parameter templat C++ Standar (nonaktif secara default). |
/Zc:ternary[-] |
Terapkan aturan operator kondisional pada jenis operand (nonaktif secara default). |
/Zc:threadSafeInit[-] |
Aktifkan inisialisasi statis lokal aman utas (aktif secara default). |
/Zc:throwingNew[-] |
Asumsikan operator new melemparkan kegagalan (nonaktif secara default). |
/Zc:tlsGuards[-] |
Hasilkan pemeriksaan runtime untuk inisialisasi variabel TLS (aktif secara default). |
/Zc:trigraphs |
Aktifkan trigraf (usang, nonaktif secara default). |
/Zc:twoPhase[-] |
Gunakan perilaku penguraian templat yang tidak sesuai (sesuai secara default). |
/Zc:wchar_t[-] |
wchar_t adalah jenis asli, bukan typedef (aktif secara default). |
/Zc:zeroSizeArrayNew[-] |
Panggil anggota new /delete untuk array objek ukuran nol (aktif secara default). |
/Ze |
Ditolak. Mengaktifkan ekstensi bahasa C89. |
/Zf |
Meningkatkan waktu pembuatan PDB dalam build paralel. |
/ZH:[MD5|SHA1|SHA_256] |
Menentukan MD5, SHA-1, atau SHA-256 untuk checksum dalam info debug. |
/ZI |
Menyertakan informasi debug dalam database program yang kompatibel dengan Edit dan Lanjutkan. (hanya x86) |
/Zi |
Menghasilkan informasi penelusuran kesalahan lengkap. |
/Zl |
Menghapus nama pustaka default dari .obj file. |
/Zm |
Menentukan batas alokasi memori header yang telah dikompretasi. |
/Zo[-] |
Hasilkan informasi penelusuran kesalahan yang lebih kaya untuk kode yang dioptimalkan. |
/Zp[n] |
Mengemas anggota struktur. |
/Zs |
Memeriksa sintaks saja. |
/ZW |
Menghasilkan file output untuk dijalankan pada Windows Runtime. |
17.10 Opsi ini tersedia mulai visual Studio 2022 versi 17.10.
Lihat juga
Opsi pengkompilasi MSVC
Sintaks baris perintah pengkompilasi MSVC
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