Dela via


Kompilatoralternativ listade alfabetiskt

Den här tabellen innehåller en alfabetisk lista över kompilatoralternativ. En lista över kompilatoralternativ efter kategori finns i artikeln Compiler-alternativ som anges efter kategori.

Compiler options

Option Purpose
@ Anger en svarsfil.
/? Visar en lista över kompilatoralternativen.
/AI<dir> Anger en katalog som ska sökas efter för att matcha filreferenser som skickas till #using-direktivet.
/analyze Aktiverar kodanalys.
/arch Minimikrav för CPU-arkitektur.
/arm64EC Generera kod som är kompatibel med arm64EC ABI.
/await Aktivera tillägg för coroutines (återupptabara funktioner).
/await:strict Aktivera standardstöd för C++20-coroutine med tidigare språkversioner.
/bigobj Ökar antalet adresserbara avsnitt i en .obj fil.
/C Bevarar kommentarer under förbearbetningen.
/c Kompileras utan länkning.
/cgthreads Anger antalet cl.exe trådar som ska användas för optimering och kodgenerering.
/clr Skapar en utdatafil som ska köras på den vanliga språkkörningen.
/clr:implicitKeepAlive- Inaktivera implicit utsläpp av System::GC::KeepAlive(this).
/clr:initialAppDomain Aktivera det inledande AppDomain-beteendet för Visual C++ 2002.
/clr:netcore Skapa sammansättningar för .NET Core-körning.
/clr:noAssembly Skapa inte en sammansättning.
/clr:nostdimport Importera inte några obligatoriska sammansättningar implicit.
/clr:nostdlib Ignorera systemets .NET Framework-katalog när du söker efter sammansättningar.
/clr:pure Skapa en il-only-utdatafil (ingen intern körbar kod).
/clr:safe Skapa en il-only-verifierbar utdatafil.
/constexpr:backtrace<N> Visa N constexpr utvärderingar i diagnostik (standard: 10).
/constexpr:depth<N> Rekursionsdjupgräns för constexpr utvärdering (standard: 512).
/constexpr:steps<N> Avsluta constexpr utvärderingen efter N-steg (standard: 100000).
/D<name>{=|#}<text> Definierar konstanter och makron.
/dynamicdeopt Aktivera C++ dynamisk felsökning (förhandsversion) och gå in var som helst med funktionsdeoptimisering på begäran.
/diagnostics Diagnostikformat: skriver ut kolumninformation.
/diagnostics:caret[-] Diagnostikformat: skriver ut kolumnen och den angivna källraden.
/diagnostics:classic Använd äldre diagnostikformat.
/doc Bearbetar dokumentationskommentar till en XML-fil.
/E Kopierar förprocessorutdata till standardutdata.
/EHa Aktivera C++-undantagshantering (med SEH-undantag).
/EHc extern "C" standardvärdet nothrow.
/EHr Generera alltid noexcept körningsavslutskontroller.
/EHs Aktivera C++-undantagshantering (inga SEH-undantag).
/EP Kopierar förprocessorutdata till standardutdata.
/errorReport Deprecated. Felrapportering i Windows (WER) inställningar styr felrapportering.
/execution-charset Ange körningsteckenuppsättning.
/experimental:log Aktiverar experimentella strukturerade SARIF-utdata.
/experimental:module Aktiverar stöd för experimentella moduler.
/exportHeader Skapa huvudenhetsfilerna (.ifc) som anges av indataargumenten.
/external:anglebrackets Behandla alla rubriker som ingår via <> som externa.
/external:env:<var> Ange en miljövariabel med platser för externa rubriker.
/external:I <path> Ange platsen för externa rubriker.
/external:templates[-] Utvärdera varningsnivån i mallens instansieringskedja.
/external:W<n> Ange varningsnivå för externa rubriker.
/F Anger stackstorlek.
/FA Konfigurerar en sammansättningslistefil.
/Fa Skapar en sammansättningslistefil.
/fastfail Aktivera snabbt felläge.
/favor:<blend|AMD64|INTEL64|ATOM> Genererar kod som är optimerad för en angiven arkitektur eller för ett antal arkitekturer.
/FC Visar den fullständiga sökvägen för källkodsfiler som skickas till cl.exe i diagnostiktext.
/Fd Byter namn på programdatabasfilen.
/Fe Byter namn på den körbara filen.
/feature Aktivera arkitekturfunktioner.17.10
/forceInterlockedFunctions Väljer dynamiskt mellan Armv8.0-belastning, lagrar exklusiva instruktioner eller Armv8.1 LSE atomiska instruktioner baserat på mål-CPU. 17.14
/FI<file> Förbearbetar den angivna inkluderingsfilen.
/Fi Anger namnet på den förbearbetade utdatafilen.
/Fm Skapar en kartfil.
/Fo Skapar en objektfil.
/Fp Anger ett fördefinierat rubrikfilnamn.
/fp:contract Överväg flyttalskontraktioner när du genererar kod.
/fp:except[-] Överväg undantag från flyttal när du genererar kod.
/fp:fast "snabb" flyttalsmodell; resultaten är mindre förutsägbara.
/fp:precise "exakt" flyttalsmodell; resultaten är förutsägbara.
/fp:strict "strikt" flyttalsmodell (innebär /fp:except).
/fpcvt:BC Bakåtkompatibel flyttal till osignerade heltalskonverteringar.
/fpcvt:IA Intels inbyggda flyttals till ett icke-signerat heltalskonverteringsbeteende.
/FR, /Fr Namn som genererats .sbr webbläsarfiler. /Fr är inaktuell.
/FS Tvingar skrivningar till PDB-filen som ska serialiseras via MSPDBSRV.EXE.
/fsanitize Möjliggör kompilering av sanitizer-instrumentation, till exempel AddressSanitizer.
/fsanitize-coverage Möjliggör kompilering av kodtäckningsinstrumentation för bibliotek som LibFuzzer.
/Ft<dir> Platsen för huvudfilerna som genererats för #import.
/FU<file> Tvingar fram användningen av ett filnamn, som om det skickades till #using-direktivet.
/Fx Sammanfogar inmatad kod med källfilen.
/GA Optimerar för Windows-program.
/Gd Använder __cdecl-anropskonventionen. (x86 only)
/Ge Deprecated. Aktiverar stackavsökningar.
/GF Aktiverar strängpooler.
/GH Anropar hook-funktionen _pexit.
/Gh Anropar hook-funktionen _penter.
/GL[-] Aktiverar hela programoptimeringen.
/Gm[-] Deprecated. Möjliggör minimal återskapande.
/GR[-] Aktiverar information om körningstyp (RTTI).
/Gr Använder __fastcall-anropskonventionen. (x86 only)
/GS[-] Kontrollerar buffertsäkerhet.
/Gs[n] Styr stackavsökningar.
/GT Stöder fibersäkerhet för data som allokeras med hjälp av statisk trådlokal lagring.
/Gu[-] Se till att distinkta funktioner har distinkta adresser.
/guard:cf[-] Lägger till säkerhetskontroller för kontrollflödesskydd.
/guard:ehcont[-] Aktiverar EH-fortsättningsmetadata.
/Gv Använder __vectorcall-anropskonventionen. (endast x86 och x64)
/Gw[-] Möjliggör global dataoptimering för hela programmet.
/GX[-] Deprecated. Aktiverar synkron undantagshantering. Använd /EH i stället.
/Gy[-] Aktiverar länkning på funktionsnivå.
/GZ Deprecated. Aktiverar snabba kontroller. (Samma som /RTC1)
/Gz Använder __stdcall-anropskonventionen. (x86 only)
/H Deprecated. Begränsar längden på externa (offentliga) namn.
/headerName Skapa en rubrikenhet från det angivna huvudet.
/headerUnit Ange var huvudenhetsfilen (.ifc) ska hittas för det angivna huvudet.
/HELP Visar en lista över kompilatoralternativen.
/homeparams Tvingar parametrar som skickas i register att skrivas till deras platser i stacken vid funktionsinmatning. Det här kompilatoralternativet är bara för x64-kompilatorerna (intern och korskompilering).
/hotpatch Skapar en snabbkorrigeringsbar avbildning.
/I<dir> Söker i en katalog efter inkluderingsfiler.
/ifcOutput Ange filnamn eller katalog för utdata för byggda .ifc filer.
/interface Behandla indatafilen som en modulgränssnittsenhet.
/internalPartition Behandla indatafilen som en intern partitionsenhet.
/J Ändrar standardtypen char.
/jumptablerdata Placera switch case-instruktionen jump tables i avsnittet .rdata.
/JMC Stöder intern felsökning av C++ Just My Code.
/kernel Kompilatorn och länkaren skapar en binärfil som kan köras i Windows-kerneln.
/LD Skapar ett dynamiskt länkbibliotek.
/LDd Skapar ett felsökningsbibliotek för dynamisk länk.
/link Skickar det angivna alternativet till LÄNK.
/LN Skapar en MSIL-.netmodule.
/MD Kompilerar för att skapa en flertrådad DLL med hjälp av MSVCRT.lib.
/MDd Kompilerar för att skapa en felsökning av flertrådad DLL med hjälp av MSVCRTD.lib.
/MP Skapar flera källfiler samtidigt.
/MT Kompilerar för att skapa en körbar fil med flera läsbara filer med hjälp av LIBCMT.lib.
/MTd Kompilerar för att skapa en körbar fil med flertrådsfelsökning med hjälp av LIBCMTD.lib.
/nologo Undertrycker visning av inloggningsbanderoll.
/O1 Skapar liten kod.
/O2 Skapar snabb kod.
/Ob<n> Styr infogad expansion.
/Od Disables optimization.
/Og Deprecated. Använder globala optimeringar.
/Oi[-] Genererar inbyggda funktioner.
/openmp Aktiverar #pragma omp i källkoden.
/openmp:experimental Aktivera OpenMP 2.0-språktillägg plus välj OpenMP 3.0+ språktillägg.
/openmp:llvm OpenMP-språktillägg med LLVM-körning.
/options:strict Okända kompilatoralternativ är fel.
/Os Gynnar liten kod.
/Ot Föredrar snabb kod.
/Ox En delmängd av /O2 som inte innehåller /GF eller /Gy.
/Oy Utelämnar bildrutepekaren. (x86 only)
/P Skriver utdata från förprocessorn till en fil.
/PD Skriv ut alla makrodefinitioner.
/permissive[-] Ange standardläge för överensstämmelse.
/PH Generera #pragma file_hash vid förbearbetning.
/presetPadding Noll initiera utfyllnad för stackbaserade klasstyper.
/Qfast_transcendentals Genererar snabba transcendentaler.
/QIfist Deprecated. Undertrycker anropet av hjälpfunktionen _ftol när en konvertering från en flyttalstyp till en integrerad typ krävs. (x86 only)
/Qimprecise_fwaits Tar bort fwait kommandon inuti try block.
/QIntel-jcc-erratum Minimerar prestandapåverkan för Intel JCC erratum-mikrokodsuppdateringen.
/Qpar-report:<n> Aktiverar rapporteringsnivåer för automatisk parallellisering.
/Qpar Aktiverar automatisk parallellisering av loopar.
/Qsafe_fp_loads Använder heltalsflyttningsinstruktioner för flyttalsvärden och inaktiverar vissa optimeringar av flyttal.
/Qspectre[-] Aktivera åtgärder för CVE 2017-5753 för en klass av Spectre-attacker.
/Qspectre-load Generera serialiseringsinstruktioner för varje inläsningsinstruktion.
/Qspectre-load-cf Generera serialiseringsinstruktioner för varje kontrollflödesinstruktion som läser in minne.
/Qvec-report:<n> Aktiverar rapporteringsnivåer för automatisk vektorisering.
/reference Använd namngiven modul IFC.
/RTC1 Aktivera snabba körningskontroller (motsvarar /RTCsu).
/RTCc Konvertera till mindre typkontroller vid körning.
/RTCs Aktivera stack frame runtime-kontroller.
/RTCu Aktiverar icke-initierade lokala användningskontroller.
/scanDependencies Lista modulberoenden i C++ Standard JSON-formulär.
/sdl Aktivera fler säkerhetsfunktioner och varningar.
/showIncludes Visar en lista över alla inkluderingsfiler under kompilering.
/source-charset Ange källteckenuppsättning.
/sourceDependencies Visa en lista över alla beroenden på källnivå.
/sourceDependencies:directives Lista modul- och rubrikenhetsberoenden.
/std:c++14 C++14 standard ISO/IEC 14882:2014 (standard).
/std:c++17 C++17 standard ISO/IEC 14882:2017.
/std:c++20 C++20 standard ISO/IEC 14882:2020.
/std:c++latest De senaste funktionerna i C++-standardversionen.
/std:c11 C11 standard ISO/IEC 9899:2011.
/std:c17 C17 standard ISO/IEC 9899:2018.
/std:clatest De senaste förhandsversionsfunktionerna i utkast C.
/TC Anger att alla källfiler är C.
/Tc Anger en C-källfil.
/TP Anger att alla källfiler är C++.
/Tp Anger en C++-källfil.
/translateInclude Behandla #include som import.
/U<name> Tar bort ett fördefinierat makro.
/u Tar bort alla fördefinierade makron.
/utf-8 Ange käll- och körningsteckenuppsättningar till UTF-8.
/V Deprecated. Anger versionssträngen.
/validate-charset Verifiera UTF-8-filer för endast kompatibla tecken.
/vd{0|1|2} Undertrycker eller aktiverar dolda vtordisp-klassmedlemmar.
/vlen Anger vektorlängd.
/vmb Använder bästa bas för pekare till medlemmar.
/vmg Använder fullständig generalitet för pekare till medlemmar.
/vmm Deklarerar flera arv.
/vms Deklarerar enskilt arv.
/vmv Deklarerar virtuellt arv.
/volatile:iso Hämta/släppa semantik garanteras inte för flyktiga åtkomster.
/volatile:ms Hämta/släppa semantik som garanteras vid flyktiga åtkomster.
/volatileMetadata Generera metadata för flyktiga minnesåtkomster.
/w Inaktivera alla varningar.
/W0, /W1, /W2, , , /W3/W4 Ange varningsnivå för utdata.
/w1<n>, /w2<n>, , /w3<n>/w4<n> Ange varningsnivå för den angivna varningen.
/Wall Aktivera alla varningar, inklusive varningar som är inaktiverade som standard.
/wd<n> Inaktivera den angivna varningen.
/we<n> Behandla den angivna varningen som ett fel.
/WL Aktivera enradsdiagnostik för fel- och varningsmeddelanden vid kompilering av C++-källkod från kommandoraden.
/wo<n> Visa den angivna varningen bara en gång.
/Wv:xx[.yy[.zzzzz]] Inaktivera varningar som introducerats efter den angivna versionen av kompilatorn.
/WX Behandla varningar som fel.
/X Ignorerar standard-inkluderingskatalogen.
/Y- Ignorerar alla andra kompilatoralternativ för förkompilerade huvuden i den aktuella versionen.
/Yc Skapa .PCH fil.
/Yd Deprecated. Placerar fullständig felsökningsinformation i alla objektfiler. Använd /Zi i stället.
/Yl Matar in en PCH-referens när du skapar ett felsökningsbibliotek.
/Yu Använder en fördefinierad rubrikfil under bygget.
/Z7 Genererar C 7.0-kompatibel felsökningsinformation.
/Za Inaktiverar vissa C89-språktillägg i C-kod.
/Zc:__cplusplus[-] Aktivera __cplusplus makrot för att rapportera den standard som stöds (inaktiverad som standard).
/Zc:__STDC__ Aktivera __STDC__ makrot för att rapportera att C-standarden stöds (inaktiverad som standard).
/Zc:alignedNew[-] Aktivera överjusterad dynamisk allokering med C++17 (på som standard i C++17).
/Zc:auto[-] Framtvinga den nya standard-C++-innebörden för auto (på som standard).
/Zc:char8_t[-] Aktivera eller inaktivera C++20 inbyggt u8 literalstöd som const char8_t (inaktiverat som standard, förutom under /std:c++20).
/Zc:enumTypes[-] Aktivera C++-standardregler för enum typavdrag (inaktiverat som standard).
/Zc:externC[-] Framtvinga C++-standardregler för extern "C" funktioner (underförstått av /permissive-).
/Zc:externConstexpr[-] Aktivera extern länkning för constexpr variabler (inaktiverad som standard).
/Zc:forScope[-] Framtvinga Standard C++ for omfångsregler (på som standard).
/Zc:gotoScope Framtvinga Standard C++ goto regler kring lokal variabelinitiering (underförstått av /permissive-).
/Zc:hiddenFriend[-] Framtvinga standardregler för C++-dolda vänner (underförstådda av /permissive-).
/Zc:implicitNoexcept[-] Aktivera implicit noexcept på nödvändiga funktioner (på som standard).
/Zc:inline[-] Ta bort orefererade funktioner eller data om de är COMDAT eller har endast intern länkning (inaktiverad som standard).
/Zc:lambda[-] Aktivera ny lambda-processor för syntaktiska kontroller i överensstämmelseläge i generiska lambdas.
/Zc:noexceptTypes[-] Framtvinga C++17-noexcept regler (på som standard i C++17 eller senare).
/Zc:nrvo[-] Aktivera valfri kopiering och flytta elisions (aktivera som standard under /O2, /permissive-eller /std:c++20 eller senare).
/Zc:preprocessor[-] Använd den nya förprocessorn (inaktiverad som standard, förutom i C11/C17).
/Zc:referenceBinding[-] En TILLFÄLLIG UDT binder inte till en referens för icke-const lvalue (inaktiverad som standard).
/Zc:rvalueCast[-] Framtvinga explicita standardregler för C++-explicit typkonvertering (inaktiverad som standard).
/Zc:sizedDealloc[-] Aktivera C++14-funktioner för global storleksfördelning (på som standard).
/Zc:strictStrings[-] Inaktivera strängliteral till char* eller wchar_t* konvertering (inaktiverad som standard).
/Zc:templateScope[-] Framtvinga skuggningsregler för Standard C++-mallparametern (inaktiverad som standard).
/Zc:ternary[-] Framtvinga villkorsstyrda operatorregler för operandtyper (inaktiverad som standard).
/Zc:threadSafeInit[-] Aktivera trådsäker lokal statisk initiering (på som standard).
/Zc:throwingNew[-] Anta att operator new utlöser fel (av som standard).
/Zc:tlsGuards[-] Generera körningskontroller för TLS-variabelinitiering (på som standard).
/Zc:trigraphs Aktivera trigraphs (föråldrad, inaktiverad som standard).
/Zc:twoPhase[-] Använd icke-konforma mallparsningsbeteende (som standard).
/Zc:wchar_t[-] wchar_t är en intern typ, inte en typedef (på som standard).
/Zc:zeroSizeArrayNew[-] Anropa medlem new/delete för matriser med noll storlek för objekt (på som standard).
/Ze Deprecated. Aktiverar C89-språktillägg.
/Zf Förbättrar PDB-generationstiden i parallella versioner.
/ZH:[MD5|SHA1|SHA_256] Anger MD5, SHA-1 eller SHA-256 för kontrollsummor i felsökningsinformation.
/ZI Innehåller felsökningsinformation i en programdatabas som är kompatibel med Redigera och Fortsätt. (x86 only)
/Zi Genererar fullständig felsökningsinformation.
/Zl Tar bort standardbibliotekets namn från filen .obj.
/Zm Anger den förkompilerade minnesallokeringsgränsen för huvud.
/Zo[-] Generera mer detaljerad felsökningsinformation för optimerad kod.
/Zp[n] Paket strukturerar medlemmar.
/Zs Kontrollerar endast syntax.
/ZW Skapar en utdatafil som ska köras på Windows Runtime.

17.10 Det här alternativet är tillgängligt från och med Visual Studio 2022 version 17.10.
17.14 Det här alternativet är tillgängligt från och med Visual Studio 2022 version 17.14.

See also

MSVC-kompilatoralternativ
kommandoradssyntax för MSVC-kompilatorn