Bagikan melalui


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 _pexithook .
/Gh Memanggil fungsi _penterhook .
/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