Sdílet prostřednictvím


Možnosti kompilátoru v abecedním pořadí

Tato tabulka obsahuje abecední seznam možností kompilátoru. Seznam možností kompilátoru podle kategorie najdete v článku o možnostech kompilátoru uvedených podle kategorie .

Možnosti kompilátoru

Možnost Účel
@ Určuje soubor odpovědi.
/? Zobrazí seznam možností kompilátoru.
/AI<dir> Určuje adresář pro vyhledávání pro překlad odkazů na soubory předané direktivě #using .
/analyze Povolí analýzu kódu.
/arch Minimální požadavky na architekturu procesoru
/arm64EC Vygenerujte kód kompatibilní s arm64EC ABI.
/await Povolte rozšíření korutinu (obnovitelné funkce).
/await:strict Povolte standardní podporu korutin c++20 ve starších jazykových verzích.
/bigobj Zvýší počet adresovatelných oddílů v souboru .obj.
/C Zachovává komentáře během předběžného zpracování.
/c Zkompiluje se bez propojení.
/cgthreads Určuje počet vláken cl.exe , která se mají použít pro optimalizaci a generování kódu.
/clr Vytvoří výstupní soubor, který se spustí v modulu CLR (Common Language Runtime).
/clr:implicitKeepAlive- Vypněte implicitní emise System::GC::KeepAlive(this).
/clr:initialAppDomain Povolte počáteční chování AppDomain v jazyce Visual C++ 2002.
/clr:netcore Vytváří sestavení cílící na modul runtime .NET Core.
/clr:noAssembly Nevytvářet sestavení.
/clr:nostdimport Neimportujte žádná požadovaná sestavení implicitně.
/clr:nostdlib Při hledání sestavení ignorujte systémový adresář rozhraní .NET Framework.
/clr:pure Vytvoří výstupní soubor jen pro IL (bez nativního spustitelného kódu).
/clr:safe Vytvoří pouze ověřitelný výstupní soubor IL.
/constexpr:backtrace<N> Zobrazení N constexpr vyhodnocení v diagnostice (výchozí hodnota: 10)
/constexpr:depth<N> Limit hloubky rekurze pro constexpr vyhodnocení (výchozí hodnota: 512).
/constexpr:steps<N> Ukončení constexpr vyhodnocení po N krocích (výchozí: 100000)
/D<name>{=|#}<text> Definuje konstanty a makra.
/diagnostics Formát diagnostiky: vytiskne informace o sloupcích.
/diagnostics:caret[-] Formát diagnostiky: vytiskne sloupec a označenou čáru zdroje.
/diagnostics:classic Použijte starší formát diagnostiky.
/doc Zpracovává komentáře dokumentace k souboru XML.
/E Zkopíruje výstup preprocesoru do standardního výstupu.
/EHa Povolte zpracování výjimek C++ (s výjimkami SEH).
/EHc Výchozí hodnotou extern "C" je nothrow.
/EHr Vždy vygenerujte noexcept kontroly ukončení modulu runtime.
/EHs Povolte zpracování výjimek C++ (bez výjimek SEH).
/EP Zkopíruje výstup preprocesoru do standardního výstupu.
/errorReport Zastaralé nastavení Zasílání zpráv o chybách systému Windows (WER) – hlášení chyb.
/execution-charset Nastavte znakové sady spuštění.
/experimental:log Umožňuje experimentální strukturovaný výstup SARIF.
/experimental:module Umožňuje podporu experimentálního modulu.
/exportHeader Vytvořte soubory jednotek hlaviček (.ifc) určené vstupními argumenty.
/external:anglebrackets Zacházet se všemi hlavičkami, které jsou zahrnuté jako <> externí.
/external:env:<var> Zadejte proměnnou prostředí s umístěními externích hlaviček.
/external:I <path> Zadejte umístění externích hlaviček.
/external:templates[-] Vyhodnoťte úroveň upozornění napříč řetězem vytváření instancí šablony.
/external:W<n> Nastavte úroveň upozornění pro externí hlavičky.
/F Nastaví velikost zásobníku.
/FA Nakonfiguruje soubor výpisu sestavení.
/Fa Vytvoří soubor výpisu sestavení.
/fastfail Povolte režim rychlého selhání.
/favor:<blend|AMD64|INTEL64|ATOM> Vytvoří kód, který je optimalizovaný pro zadanou architekturu nebo pro řadu architektur.
/FC Zobrazí úplnou cestu k souborům zdrojového kódu předanými do cl.exe v diagnostickém textu.
/Fd Přejmenuje soubor databáze programu.
/Fe Přejmenuje spustitelný soubor.
/feature Povolte funkce architektury.17.10
/FI<file> Předzpracuje zadaný soubor include.
/Fi Určuje název předzpracovaného výstupního souboru.
/Fm Vytvoří soubor mapování.
/Fo Vytvoří soubor objektu.
/Fp Určuje předkompilovaný název souboru hlaviček.
/fp:contract Při generování kódu zvažte kontrakty s plovoucí desetinou čárkou.
/fp:except[-] Při generování kódu zvažte výjimky s plovoucí desetinou čárkou.
/fp:fast "rychlý" model s plovoucí desetinou čárkou; výsledky jsou méně předvídatelné.
/fp:precise "přesný" model s plovoucí desetinou čárkou; výsledky jsou předvídatelné.
/fp:strict "striktní" model s plovoucí desetinou čárkou (implikuje /fp:except).
/fpcvt:BC Zpětně kompatibilní s plovoucí desetinou čárkou na celočíselné převody bez znaménka
/fpcvt:IA Intel nativní chování převodu celých čísel s plovoucí deseti čárkou na nepodepsané celé číslo
/FR, /Fr Vygenerované .sbr soubory prohlížeče. /Fr je zastaralý.
/FS Vynutí serializaci zápisů do souboru PDB prostřednictvím MSPDBSRV.EXE.
/fsanitize Umožňuje kompilaci instrumentace sanitizátoru, jako je AddressSanitizer.
/fsanitize-coverage Umožňuje kompilaci instrumentace pokrytí kódu pro knihovny, jako je LibFuzzer.
/Ft<dir> Umístění souborů hlaviček vygenerovaných pro #import.
/FU<file> Vynutí použití názvu souboru, jako by byl předán direktivě #using .
/Fx Sloučí vložený kód se zdrojovým souborem.
/GA Optimalizuje aplikace pro Windows.
/Gd __cdecl Používá konvenci volání. (pouze x86)
/Ge Zastaralé Aktivuje sondy zásobníku.
/GF Povolí sdružování řetězců.
/GH Volání funkce _pexitháku .
/Gh Volání funkce _penterháku .
/GL[-] Umožňuje optimalizaci celého programu.
/Gm[-] Zastaralé Povolí minimální opětovné sestavení.
/GR[-] Povolí informace o typu runtime (RTTI).
/Gr __fastcall Používá konvenci volání. (pouze x86)
/GS[-] Kontroluje zabezpečení vyrovnávací paměti.
/Gs[n] Řídí sondy zásobníku.
/GT Podporuje zabezpečení vláken pro data přidělená pomocí statického úložiště s vlákny v místním úložišti.
/Gu[-] Zajistěte, aby různé funkce měly odlišné adresy.
/guard:cf[-] Přidá kontroly zabezpečení ochrany toku řízení.
/guard:ehcont[-] Povolí metadata pokračování EH.
/Gv __vectorcall Používá konvenci volání. (pouze x86 a x64)
/Gw[-] Umožňuje globální optimalizaci dat v rámci celého programu.
/GX[-] Zastaralé Umožňuje synchronní zpracování výjimek. Místo toho použijte /EH.
/Gy[-] Povolí propojení na úrovni funkce.
/GZ Zastaralé Umožňuje rychlé kontroly. (Stejné jako /RTC1)
/Gz __stdcall Používá konvenci volání. (pouze x86)
/H Zastaralé Omezuje délku externích (veřejných) názvů.
/headerName Sestavte jednotku záhlaví ze zadané hlavičky.
/headerUnit Určete, kde má být nalezen soubor jednotky záhlaví (.ifc) pro zadanou hlavičku.
/HELP Zobrazí seznam možností kompilátoru.
/homeparams Vynutí, aby se parametry předávané v registrech zapisovaly do jejich umístění v zásobníku po zadání funkce. Tato možnost kompilátoru je určena pouze pro kompilátory x64 (nativní a křížové kompilace).
/hotpatch Vytvoří image s možností opravy za běhu.
/I<dir> Vyhledá v adresáři soubory zahrnutí.
/ifcOutput Zadejte název výstupního souboru nebo adresář pro sestavené .ifc soubory.
/interface Zachází se vstupním souborem jako s jednotkou rozhraní modulu.
/internalPartition Zachází se vstupním souborem jako s interní jednotkou oddílu.
/J Změní výchozí char typ.
/jumptablerdata Umístěte do oddílu .rdata jump tabulky příkazů switch case.
/JMC Podporuje nativní ladění C++ Just My Code.
/kernel Kompilátor a linker vytvoří binární soubor, který lze spustit v jádru Windows.
/LD Vytvoří dynamickou knihovnu.
/LDd Vytvoří ladicí dynamickou knihovnu propojení.
/link Předá zadanou možnost do linku.
/LN Vytvoří jazyk MSIL .netmodule.
/MD Zkompiluje vytvoření vícevláknové knihovny DLL pomocí knihovny MSVCRT.lib.
/MDd Zkompiluje pro vytvoření vícevláknové knihovny DLL pomocí knihovny MSVCRTD.lib.
/MP Vytvoří současně více zdrojových souborů.
/MT Zkompiluje vytvoření vícevláknového spustitelného souboru pomocí knihovny LIBCMT.lib.
/MTd Zkompiluje vytvoření ladicího spustitelného souboru s více vlákny pomocí knihovny LIBCMTD.lib.
/nologo Potlačí zobrazení nápisu pro přihlášení.
/O1 Vytvoří malý kód.
/O2 Vytvoří rychlý kód.
/Ob<n> Ovládací prvky vložené rozšíření.
/Od Zakáže optimalizaci.
/Og Zastaralé Používá globální optimalizace.
/Oi[-] Generuje vnitřní funkce.
/openmp #pragma omp Povolí ve zdrojovém kódu.
/openmp:experimental Povolte jazykové rozšíření OpenMP 2.0 a vyberte jazyková rozšíření OpenMP 3.0 nebo novější.
/openmp:llvm Rozšíření jazyka OpenMP pomocí modulu runtime LLVM.
/options:strict Nerozpoznané možnosti kompilátoru jsou chyby.
/Os Upřednostňuje malý kód.
/Ot Dává přednost rychlému kódu.
/Ox Podmnožina /O2, která neobsahuje /GF nebo /Gy.
/Oy Vynechá ukazatel rámce. (pouze x86)
/P Zapíše výstup preprocesoru do souboru.
/PD Vytiskněte všechny definice maker.
/permissive[-] Nastavte režim standardní shody.
/PH Generování #pragma file_hash při předběžném zpracování
/presetPadding Nulové inicializace odsazení pro typy tříd založených na zásobníku.
/Qfast_transcendentals Generuje rychlé entiententní.
/QIfist Zastaralé Potlačí volání pomocné funkce _ftol , pokud je vyžadován převod z typu s plovoucí desetinou čárkou na celočíselný typ. (pouze x86)
/Qimprecise_fwaits Odebere příkazy fwait uvnitř try bloků.
/QIntel-jcc-erratum Snižuje dopad na výkon aktualizace mikrokódu Intel JCC erratum.
/Qpar-report:<n> Povoluje úrovně generování sestav pro automatickou paralelizaci.
/Qpar Umožňuje automatickou paralelizaci smyček.
/Qsafe_fp_loads Používá celočíselné instrukce pro přesunutí hodnot s plovoucí desetinou čárkou a zakáže určité optimalizace zatížení s plovoucí desetinou čárkou.
/Qspectre[-] Povolení zmírnění rizik pro CVE 2017-5753 pro třídu útoků Spectre
/Qspectre-load Vygenerujte instrukce serializace pro každou instrukci načtení.
/Qspectre-load-cf Vygenerujte instrukce serializace pro všechny instrukce toku řízení, které načítají paměť.
/Qvec-report:<n> Umožňuje vytváření sestav pro automatickou vektorizaci.
/reference Použijte pojmenovaný modul IFC.
/RTC1 Povolte rychlé kontroly za běhu (ekvivalentní /RTCsu).
/RTCc Převod na menší kontroly typů za běhu
/RTCs Povolte kontroly modulu runtime zásobníku.
/RTCu Povolí neinicializované místní kontroly využití.
/scanDependencies Výpis závislostí modulů ve standardním formátu JSON jazyka C++.
/sdl Povolte další funkce a upozornění zabezpečení.
/showIncludes Zobrazí seznam všech souborů zahrnutí během kompilace.
/source-charset Nastavení zdrojové znakové sady
/sourceDependencies Zobrazí seznam všech závislostí na úrovni zdroje.
/sourceDependencies:directives Výpis závislostí jednotek a modulů záhlaví
/std:c++14 C++14 standard ISO/IEC 14882:2014 (výchozí).
/std:c++17 C++17 standard ISO/IEC 14882:2017.
/std:c++20 C++20 standard ISO/IEC 14882:2020.
/std:c++latest Nejnovější funkce verze Preview konceptu C++.
/std:c11 C11 standard ISO/IEC 9899:2011.
/std:c17 C17 standard ISO/IEC 9899:2018.
/std:clatest Nejnovější funkce konceptu C standard Preview.
/TC Určuje, že všechny zdrojové soubory jsou C.
/Tc Určuje zdrojový soubor jazyka C.
/TP Určuje, že všechny zdrojové soubory jsou C++.
/Tp Určuje zdrojový soubor C++.
/translateInclude Považovat za #include import.
/U<name> Odebere předdefinované makro.
/u Odebere všechna předdefinovaná makra.
/utf-8 Nastavte zdrojové a spouštěcí znakové sady na UTF-8.
/V Zastaralé Nastaví řetězec verze.
/validate-charset Ověřte soubory UTF-8 pouze pro kompatibilní znaky.
/vd{0|1|2} Potlačí nebo povolí skryté vtordisp členy třídy.
/vlen Určuje délku vektoru.
/vmb Používá nejlepší základ pro ukazatele na členy.
/vmg Používá úplnou generalitu pro ukazatele na členy.
/vmm Deklaruje více dědičnosti.
/vms Deklaruje jednoduchou dědičnost.
/vmv Deklaruje virtuální dědičnost.
/volatile:iso U nestálých přístupů není zaručena sémantika získání/uvolnění.
/volatile:ms Získání/uvolnění sémantiky zaručené u nestálých přístupů.
/volatileMetadata Generovat metadata pro přístup k nestálé paměti.
/w Zakažte všechna upozornění.
/W0, /W1, /W2, , /W3/W4 Nastavte úroveň upozornění výstupu.
/w1<n>, /w2<n>, , /w3<n>/w4<n> Nastavte úroveň upozornění pro zadané upozornění.
/Wall Povolte všechna upozornění, včetně upozornění, která jsou ve výchozím nastavení zakázaná.
/wd<n> Zakažte zadané upozornění.
/we<n> Zachází se zadaným upozorněním jako s chybou.
/WL Povolte diagnostiku jednoho řádku pro chybové a upozorňující zprávy při kompilaci zdrojového kódu jazyka C++ z příkazového řádku.
/wo<n> Zobrazí se zadané upozornění pouze jednou.
/Wv:xx[.yy[.zzzzz]] Zakažte upozornění zavedená po zadané verzi kompilátoru.
/WX Zacházejte s upozorněními jako s chybami.
/X Ignoruje standardní adresář zahrnutí.
/Y- Ignoruje všechny ostatní možnosti kompilátoru předkompilovaných hlaviček v aktuálním buildu.
/Yc Vytvořte .PCH soubor.
/Yd Zastaralé Umístí úplné informace o ladění ve všech souborech objektů. Místo toho použijte /Zi.
/Yl Vloží odkaz PCH při vytváření knihovny ladění.
/Yu Během sestavování se používá předkompilovaný soubor hlaviček.
/Z7 Generuje informace o ladění kompatibilní s C 7.0.
/Za Zakáže některá jazyková rozšíření C89 v kódu jazyka C.
/Zc:__cplusplus[-] __cplusplus Povolte makro, aby hlásilo podporovaný standard (ve výchozím nastavení je vypnuto).
/Zc:__STDC__ Povolením __STDC__ makra nahlásit standard jazyka C je podporován (ve výchozím nastavení je vypnuto).
/Zc:alignedNew[-] Povolte dynamické přidělování zarovnané do C++17 (ve výchozím nastavení v C++17).
/Zc:auto[-] Vynucujte nový význam standardu C++ pro auto (ve výchozím nastavení je zapnutý).
/Zc:char8_t[-] Povolení nebo zakázání nativní u8 podpory literálů C++20 jako const char8_t (ve výchozím nastavení vypnuto, s výjimkou pod /std:c++20).
/Zc:enumTypes[-] Povolte standardní pravidla C++ pro enum odpočty typů (ve výchozím nastavení vypnuto).
/Zc:externC[-] Vynucujte standardní pravidla jazyka C++ pro extern "C" funkce (odvozené /permissive-).
/Zc:externConstexpr[-] Povolte externí propojení pro constexpr proměnné (ve výchozím nastavení je vypnuto).
/Zc:forScope[-] Vynucujte pravidla oborů standardu C++ for (ve výchozím nastavení je zapnutá).
/Zc:gotoScope Vynucujte standardní pravidla jazyka C++ goto kolem inicializace místních proměnných (odvozená /permissive-).
/Zc:hiddenFriend[-] Vynutit skrytá pravidla C++ standardu C++ (odvozená /permissive-)
/Zc:implicitNoexcept[-] Povolit implicitní noexcept u požadovaných funkcí (ve výchozím nastavení je zapnuto).
/Zc:inline[-] Odeberte neodkazované funkce nebo data, pokud jsou COMDAT nebo mají pouze interní propojení (ve výchozím nastavení je vypnuté).
/Zc:lambda[-] Povolte nový procesor lambda pro syntaktické kontroly v obecných lambdach v režimu shody.
/Zc:noexceptTypes[-] Vynucujte pravidla C++17 noexcept (ve výchozím nastavení v C++17 nebo novějším).
/Zc:nrvo[-] Povolte volitelnou kopii a přesuňte elizi (ve výchozím nastavení v části /O2, /permissive-nebo /std:c++20 novější).
/Zc:preprocessor[-] Použijte nový preprocesor odpovídající (ve výchozím nastavení vypnutý s výjimkou C11/C17).
/Zc:referenceBinding[-] Dočasný objekt UDT nebude svázat s odkazem, který není const lvalue (ve výchozím nastavení vypnutý).
/Zc:rvalueCast[-] Vynutit pravidla explicitního převodu standardního jazyka C++ (ve výchozím nastavení je vypnutá).
/Zc:sizedDealloc[-] Povolte funkce zrušení přidělení globální velikosti C++14 (ve výchozím nastavení).
/Zc:strictStrings[-] Zakažte řetězcový literál nebo char* wchar_t* převod (ve výchozím nastavení je vypnutý).
/Zc:templateScope[-] Vynucujte pravidla stínování standardních parametrů šablony C++ (ve výchozím nastavení je vypnutá).
/Zc:ternary[-] Vynucujte pravidla podmíněného operátoru u typů operandů (ve výchozím nastavení vypnuto).
/Zc:threadSafeInit[-] Povolte místní statickou inicializaci bezpečnou pro přístup z více vláken (ve výchozím nastavení je zapnutá).
/Zc:throwingNew[-] Předpokládejme operator new , že dojde k selhání (ve výchozím nastavení vypnuto).
/Zc:tlsGuards[-] Generování kontrol runtime pro inicializaci proměnných PROTOKOLU TLS (ve výchozím nastavení)
/Zc:trigraphs Povolte trigrafy (zastaralé, ve výchozím nastavení vypnuté).
/Zc:twoPhase[-] Použijte nekonformní chování analýzy šablony (ve výchozím nastavení vyhovuje).
/Zc:wchar_t[-] wchar_t je nativní typ, nikoli typedef (ve výchozím nastavení).
/Zc:zeroSizeArrayNew[-] Volání člena new/delete pro pole s nulovou velikostí objektů (ve výchozím nastavení je zapnuto).
/Ze Zastaralé Povolí jazyková rozšíření C89.
/Zf Zlepšuje dobu generování PDB v paralelních buildech.
/ZH:[MD5|SHA1|SHA_256] Určuje MD5, SHA-1 nebo SHA-256 pro kontrolní součty v informacích o ladění.
/ZI Obsahuje informace o ladění v programové databázi kompatibilní s funkcí Upravit a pokračovat. (pouze x86)
/Zi Generuje úplné informace o ladění.
/Zl Odebere z souboru výchozí název .obj knihovny.
/Zm Určuje předkompilovaný limit přidělení paměti hlavičky.
/Zo[-] Vygenerujte bohatší informace o ladění pro optimalizovaný kód.
/Zp[n] Zabalí členy struktury.
/Zs Kontroluje pouze syntaxi.
/ZW Vytvoří výstupní soubor, který se spustí na prostředí Windows Runtime.

17.10 Tato možnost je dostupná od sady Visual Studio 2022 verze 17.10.

Viz také

Možnosti kompilátoru MSVC
Syntaxe příkazového řádku kompilátoru MSVC