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 _pexit háku . |
/Gh |
Volání funkce _penter há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