Stránky vlastností C/C++

V části Vlastnosti>projektu>>C/C++ jsou nalezeny následující stránky vlastností vlastností projektu:

Obecné vlastnosti C/C++

Další adresáře zahrnutí

Určuje jeden nebo více adresářů, které se mají přidat do cesty zahrnutí. Pokud existuje více adresářů, oddělte adresáře středníkem (';' ). Nastaví možnost kompilátoru /I (Další zahrnutí adresářů).

Další adresáře #using

Určuje jeden nebo více adresářů, které se mají hledat, aby se přeložily názvy předané direktivě #using . Pokud existuje více adresářů, oddělte adresáře středníkem (';' ). Nastaví možnost kompilátoru /AI .

Další adresáře BMI

Určuje jeden nebo více adresářů, které se mají hledat, aby se přeložily názvy předané direktivě import . Pokud existuje více adresářů, oddělte adresáře středníkem (';' ). Nastaví možnost kompilátoru /ifcSearchDir[path] .

Další závislosti modulů

Určuje jeden nebo více modulů, které se mají použít k překladu názvů předaných direktivě import . Pokud existuje více adresářů, oddělte adresáře středníkem (';' ). Nastaví možnost kompilátoru /reference .

Další závislosti jednotek hlaviček

Určuje jednu nebo více jednotek hlaviček, které se mají použít k překladu názvů předaných direktivě hlavičky import . Pokud existuje více adresářů, oddělte adresáře středníkem (';' ). Nastaví možnost kompilátoru /headerUnit .

Vyhledat zdroje závislostí modulů

Pokud je nastavena hodnota Ano, kompilátor prohledá všechny zdroje C++, nejen rozhraní modulu a zdroje jednotek hlaviček, pro závislosti jednotek modulů a hlaviček. Systém sestavení sestaví celý graf závislostí, který zajistí, že se před kompilací souborů, které na nich závisejí, sestaví všechny importované moduly a jednotky hlaviček. V kombinaci s příkazem Translate Includes to Imports se všechny hlavičkové soubory zadané v header-units.json souboru ve stejném adresáři, jako je soubor hlaviček, zkompiluje do jednotky hlaviček.

Soubory, které mají příponu .ixxa soubory, které mají vlastnosti> Souboru C/C++>Compile As nastavenou na Compile as C++ Header Unit (/exportHeader), se vždy prohledávají.

Přeložit zahrnutí na importy

Pokud je nastavena hodnota Ano, kompilátor považuje direktivu #include za direktivu import , pokud jsou splněny určité podmínky: Soubor hlavičky je zadán v header-units.json souboru ve stejném adresáři a zkompilovaná jednotka hlaviček ( .ifc soubor) je k dispozici pro soubor hlaviček. V opačném případě se soubor záhlaví považuje za normální #include. Soubor header-units.json slouží k sestavení jednotek záhlaví pro každý #include bez duplikace symbolů. V kombinaci se zdroji prohledávání závislostí modulů kompilátor automaticky najde všechny soubory hlaviček, které lze zkompilovat do jednotek hlaviček. Tato vlastnost nastaví možnost kompilátoru /translateInclude .

Formát informací o ladění

Určuje typ informací o ladění generovaných kompilátorem. Tato vlastnost vyžaduje kompatibilní nastavení linkeru. Sady /Z7, , /ZI/Zi(formát informací ladění) možnosti kompilátoru.

Volby

  • Žádné – nevygeneruje žádné informace o ladění, takže kompilace může být rychlejší.
  • Kompatibilní s jazykem C7 – vyberte typ informací o ladění vytvořených pro váš program a určete, zda jsou tyto informace uloženy v souborech objektů (.obj) nebo v databázi programu (PDB).
  • ProgramOvá databáze – vytvoří programovou databázi (PDB), která obsahuje informace o typu a symbolické informace o ladění pro použití s ladicím programem. Symbolické informace o ladění zahrnují názvy a typy proměnných a funkcí a čísla řádků.
  • ProgramOvá databáze pro úpravy a pokračování – vytvoří programovou databázi, jak je popsáno výše, ve formátu, který podporuje funkci Upravit a pokračovat .

Podpora ladění pouze mého kódu

Přidá podpůrný kód pro povolení ladění Just My Code v této lekci kompilace. Množiny /JMC.

Podpora Common Language RunTime

Použijte službu runtime .NET. Tento přepínač není kompatibilní s některými dalšími přepínači; Podrobnosti najdete v dokumentaci k skupině /clr přepínačů.

Volby

  • Žádná podpora modulu Common Language RunTime – Žádná podpora modulu RunTime pro běžný jazyk
  • Podpora Common Language RunTime – Vytvoří metadata pro vaši aplikaci, kterou můžou využívat jiné aplikace CLR. Umožňuje také aplikaci využívat typy a data v metadatech jiných komponent CLR.
  • Pure MSIL Common Language RunTime Support - Vytvoří výstupní soubor pouze MSIL bez nativního spustitelného kódu, i když může obsahovat nativní typy kompilované do jazyka MSIL.
  • Sejf podpora msIL Common Language RunTime – vytvoří pouze jazyk MSIL (bez nativního spustitelného kódu) a ověřitelný výstupní soubor.

Využití rozšíření prostředí Windows Runtime

Využití rozšíření jazyků pro dobu běhu systému Windows Množiny /ZW.

Potlačení úvodního banneru

Potlačí zobrazení nápisu pro přihlášení při spuštění kompilátoru a zobrazení informačních zpráv během kompilace.

Úroveň upozornění

Vyberte, jak striktní má kompilátor být o chybách kódu. Množiny /W0 - /W4.

Volby

  • Vypněte všechna upozornění – úroveň 0 zakáže všechna upozornění.
  • Úroveň 1 – úroveň 1 zobrazuje závažná upozornění. Úroveň 1 je výchozí úroveň upozornění na příkazovém řádku.
  • Úroveň 2 – úroveň 2 zobrazí všechna upozornění a upozornění úrovně 1 méně závažná než úroveň 1.
  • Úroveň 3 – úroveň 3 zobrazí všechna upozornění úrovně 2 a všechna ostatní upozornění doporučená pro produkční účely.
  • Úroveň 4 – úroveň 4 zobrazuje všechna upozornění úrovně 3 a informační upozornění, která se ve většině případů dají bezpečně ignorovat.
  • EnableAllWarnings – Povolí všechna upozornění, včetně těch, které jsou ve výchozím nastavení zakázané.

Zacházení s upozorněními jako s chybami

Zpracovává upozornění kompilátoru jako chyby. Pro nový projekt může být nejlepší použít /WX při každé kompilaci. Vyřešte všechna upozornění, aby se minimalizovaly chyby kódu, které je obtížné najít.

Verze upozornění

Skryjte upozornění zavedená po konkrétní verzi kompilátoru. Množiny /Wv:xx[.yy[.zzzzz]].

Formát diagnostiky

Umožňuje bohatou diagnostiku s informacemi o sloupci a kontextem zdroje v diagnostických zprávách.

Volby

  • Stříška – poskytuje informace o sloupci v diagnostické zprávě. A výstupem je příslušný řádek zdrojového kódu s stříškou, která označuje odsadný sloupec.
  • Informace o sloupci – Dále poskytuje číslo sloupce v řádku, kde je diagnostika vystavena, pokud je to možné.
  • Classic – Výstupy jsou pouze předchozí, stručné diagnostické zprávy s číslem řádku.

Kontroly SDL

Další doporučené kontroly životního cyklu vývoje zabezpečení (SDL); zahrnuje povolení dalších zabezpečených funkcí generování kódu a umožňuje další upozornění související se zabezpečením jako chyby. Množiny /sdl, /sdl-.

Kompilace s více procesory

Povolte kompilaci s více procesory. Nastaví možnost kompilátoru /MP .

Povolení sanitizátoru adres

Kompiluje a propojuje program s instrumentací AddressSanitizer. Tato vlastnost v současné době podporuje cílové buildy x86 a x64. Nastaví možnost kompilátoru /fsanitize .

Vlastnosti optimalizace C/C++

Optimalizace

Výběr možnosti pro optimalizaci kódu; zvolte Vlastní, pokud chcete použít konkrétní možnosti optimalizace. Sady /Od, /O1, /O2.

Volby

  • Vlastní – vlastní optimalizace
  • Zakázáno – Zakažte optimalizaci.
  • Maximální optimalizace (velikost upřednostnění) – ekvivalent /Os /Oy /Ob2 /Gs /GF /Gy
  • Maximální optimalizace (rychlost upřednostnění) – ekvivalent /Oi /Ot /Oy /Ob2 /Gs /GF /Gy
  • Optimalizace (upřednostnění rychlosti) – ekvivalent /Oi /Ot /Oy /Ob2

Rozšíření vložené funkce

Vyberte úroveň rozšíření vložené funkce pro sestavení. Množiny /Ob.

Volby

  • Výchozí
  • Zakázáno – Zakáže vložené rozšíření, které je ve výchozím nastavení zapnuté.
  • Pouze __inline – rozbalí pouze funkce označené jako inline, __forceinlinenebo __inline. Nebo v členské funkci jazyka C++ definované v deklaraci třídy.
  • Libovolná vhodná – rozbalí funkce označené jako inline nebo __inline jiné funkce, které kompilátor zvolí. (Rozšíření probíhá podle uvážení kompilátoru, často označované jako automatické inlinování.)

Povolení vnitřních funkcí

Povolí vnitřní funkce. Použití vnitřních funkcí generuje rychleji, ale pravděpodobně větší kód. Množiny /Oi.

Upřednostnění velikosti nebo rychlosti

Zda upřednostňovat velikost kódu nebo rychlost kódu; Musí být zapnutá globální optimalizace. Množiny /Ot, /Os.

Volby

  • Upřednostnění malého kódu – minimalizuje velikost exes a knihoven DLL pokynem kompilátoru, aby upřednostňuje velikost přes rychlost.
  • Upřednostněte rychlý kód – maximalizuje rychlost exes a knihoven DLL tím, že kompilátoru dá pokyn, aby upřednostňuje rychlost nad velikostí. (Tato hodnota je výchozí.)
  • Ani jedno – bez optimalizace velikosti a rychlosti.

Vynechání ukazatelů na rámečky

Zakazuje vytváření ukazatelů na rámce v zásobníku volání.

Povolení optimalizací Sejf fiber-Sejf

Umožňuje optimalizaci paměti při použití vláken a přístupu k místnímu úložišti vlákna. Množiny /GT.

optimalizace programu Kdo le

Umožňuje optimalizaci napříč moduly tím, že zpozdí generování kódu pro propojení času. Vyžaduje možnost linkeru Pro generování kódu času propojení. Množiny /GL.

Vlastnosti preprocesoru C/C++

Definice preprocesoru

Definuje symboly předběžného zpracování zdrojového souboru.

Definice nedefinovaných preprocesorů

Určuje jeden nebo více nedefinů preprocesoru. Množiny /U.

Nedefinovat všechny definice preprocesoru

Nedefinuje všechny dříve definované hodnoty preprocesoru. Množiny /u.

Ignorovat standardní cesty zahrnutí

Brání kompilátoru v hledání souborů include v adresářích zadaných v proměnných prostředí INCLUDE.

Předběžné zpracování souboru

Předzpracuje zdrojové soubory C a C++ a zapíše předzpracovaný výstup do souboru. Tato možnost potlačuje kompilaci a nevytváří .obj soubor.

Předzpracování potlačit čísla řádků

Předběžné zpracování bez direktiv #line.

Zachovat komentáře

Potlačí pruh komentáře ze zdrojového kódu; vyžaduje nastavení alespoň jedné z možností předběžného zpracování . Množiny /C.

Vlastnosti generování kódu C/C++

Povolení sdružování řetězců

Kompilátor vytvoří v imagi programu pouze jednu kopii identických řetězců jen pro čtení. Výsledkem je menší programy, optimalizace označovaná jako sdružování řetězců. /O1, /O2a /ZI automaticky nastavit /GF možnost.

Povolit minimální opětovné sestavení

Umožňuje minimální opětovné sestavení, které určuje, zda se mají překompilovat zdrojové soubory C++, které zahrnují změněné definice tříd C++, uložené v souborech hlaviček .h .

Povolení výjimek C++

Určuje model zpracování výjimek, který bude kompilátor používat.

Volby

  • Ano s výjimkami SEH – model zpracování výjimek, který zachycuje asynchronní (strukturované) a synchronní výjimky (C++). Množiny /EHa.
  • Ano – model zpracování výjimek, který zachytává pouze výjimky jazyka C++ a říká kompilátoru, aby předpokládal, že externí funkce jazyka C nikdy nevyvolají výjimku jazyka C++. Množiny /EHsc.
  • Ano s externími funkcemi jazyka C – model zpracování výjimek, který zachytává výjimky jazyka C++, a kompilátoru říká, aby předpokládal, že externové funkce jazyka C vyvolá výjimku. Množiny /EHs.
  • Ne – Žádné zpracování výjimek.

Menší kontrola typu

Povolte kontrolu převodu na menší typy, nekompatibilní s jakýmkoli jiným typem optimalizace než laděním. Množiny /RTCc.

Základní kontroly modulu runtime

Povolte základní kontroly chyb za běhu nekompatibilní s jakýmkoli jiným typem optimalizace než laděním. Sady /RTCs, /RTCu, /RTC1.

Volby

  • Rámce zásobníku – Umožňuje kontrolu chyb za běhu zásobníku.
  • Neinicializované proměnné – Sestavy při použití proměnné bez inicializace.
  • Oba (/RTC1, equiv. to /RTCsu) - ekvivalent ./RTCsu
  • Výchozí – výchozí kontroly modulu runtime

Knihovna modulu runtime

Zadejte knihovnu modulu runtime pro propojení. Sady /MT, /MTd, /MD, /MDd.

Volby

  • Vícevláknové – způsobí, že vaše aplikace použije vícevláknovou statickou verzi knihovny runtime.
  • Ladění s více vlákny _DEBUG – definice a _MT. Tato možnost také způsobí, že kompilátor umístí název LIBCMTD.lib knihovny do .obj souboru, aby linker použil LIBCMTD.lib k překladu externích symbolů.
  • Knihovna DLL s více vlákny – způsobí, že vaše aplikace použije multithread- a dll-specific verzi knihovny runtime. _MT Definuje a _DLL způsobí, že kompilátor umístí název knihovny MSVCRT.lib do .obj souboru.
  • Ladicí knihovna DLL s více vlákny _DEBUG– Definuje , _MTa způsobí, že _DLL aplikace bude používat ladicí multithread- a dll-specific verzi knihovny runtime. Také způsobí, že kompilátor umístí název MSVCRTD.lib knihovny do .obj souboru.

Zarovnání člena struktury

Určuje hranice 1, 2, 4 nebo 8 bajtů pro zarovnání členů struktury. Množiny /Zp.

Volby

  • 1 Bajt – Struktury balíčků na jednobajtů hranice. Stejné jako /Zp.
  • 2 Bajty – Zabalí struktury na dvoubajtů hranice.
  • 4 Bajty – Zabalí struktury na čtyřbajtů hranice.
  • 8 Bajty – Zabalí struktury na osmi bajtových hranicích (výchozí).
  • 16 Bajty - Balí struktury na šestnácti bajtových hranicích.
  • Výchozí – Výchozí nastavení zarovnání

Kontrola zabezpečení

Kontrola zabezpečení pomáhá detekovat přetečení zásobníku vyrovnávací paměti, běžný pokus o útok na zabezpečení programu.

Volby

  • Zakázat kontrolu zabezpečení – Zakažte kontrolu zabezpečení. Množiny /GS-.
  • Povolit kontrolu zabezpečení – Povolení kontroly zabezpečení Množiny /GS.

Ochrana toku provádění (Control Flow Guard)

Kontrola zabezpečení ochrany pomáhá zjišťovat pokusy o odeslání do nelegálního bloku kódu.

Volby

  • Ano – Povolte kontrolu zabezpečení se sadami /guard:cfguardů .
  • Ne

Povolení propojení na úrovni funkce

Umožňuje kompilátoru zabalit jednotlivé funkce ve formě zabalených funkcí (COMDAT). Vyžaduje se pro úpravy a pokračovat v práci. Množiny /Gy.

Povolení paralelního generování kódu

Umožňuje kompilátoru generovat paralelní kód pro smyčky identifikované při #pragma loop(hint_parallel[(n)]) optimalizaci.

Povolit rozšířenou instrukční sadu

Povolte použití pokynů nalezených u procesorů, které podporují rozšířené instrukční sady. Například vylepšení SSE, SSE2, AVX a AVX2 na IA-32. A vylepšení AVX a AVX2 na x64. V současné době /arch:SSE jsou /arch:SSE2 k dispozici pouze při sestavování pro architekturu x86. Pokud není zadána žádná možnost, kompilátor použije pokyny nalezené u procesorů, které podporují SSE2. Použití rozšířených instrukcí lze zakázat s /arch:IA32. Další informace naleznete v tématu /arch (x86), /arch (x64), /arch (ARM64)a /arch (ARM).

Volby

  • Streamování rozšíření SIMD – Rozšíření SIMD streamování. Nastaví /arch:SSE
  • Streamování ROZŠÍŘENÍ SIMD 2 - Streamování SIMD Rozšíření 2. Nastaví /arch:SSE2
  • Rozšířená vektorová rozšíření – rozšířená vektorová rozšíření. Nastaví /arch:AVX
  • Advanced Vector Extensions 2 - Advanced Vector Extensions 2. Nastaví /arch:AVX2
  • Žádné vylepšené instrukce – žádné rozšířené instrukce. Nastaví /arch:IA32
  • Nenastaví se – Nenastaví se.

Model s plovoucí desetinou čárkou

Nastaví model s plovoucí desetinou čárkou. Sady /fp:precise, /fp:strict, /fp:fast.

Volby

  • Přesné – výchozí. Zlepšuje konzistenci testů s plovoucí desetinou čárkou pro rovnost a nerovnost.
  • Striktní – nejtěsnější model s plovoucí desetinou čárkou. /fp:strict způsobí fp_contract , že je vypnutá a fenv_access bude zapnutá. /fp:except je implicitní a lze ho zakázat explicitním /fp:except-zadáním . Při použití s /fp:except-, /fp:strict vynucuje striktní sémantiku s plovoucí desetinnou čárkou, ale bez ohledu na výjimečné události.
  • Rychle – ve většině případů vytvoří nejrychlejší kód.

Povolení výjimek s plovoucí desetinou čárkou

Spolehlivý model výjimek s plovoucí desetinnou čárkou Výjimky budou vyvolány okamžitě po jejich aktivaci. Množiny /fp:except.

Vytvoření bitové kopie s možností opravy za běhu

Při zapnuté sadě hotpatch kompilátor zajistí, že první instrukce každé funkce je dvě bajty, jak je vyžadováno pro opravy za tepla. Množiny /hotpatch.

Zmírnění rizik spectre

Zmírnění rizik spectre pro CVE 2017-5753 Množiny /Qspectre.

Volby

  • Povoleno – Povolení funkce zmírnění rizik Spectre pro CVE 2017-5753
  • Zakázáno – Není nastaveno.

Vlastnosti jazyka C/C++

Zakázání jazykových rozšíření

Potlačí nebo povolí jazyková rozšíření. Množiny /Za.

Zpracování WChar_t jako předdefinovaných typů

Po zadání se typ wchar_t stane nativním typem, který se __wchar_t mapuje stejným způsobem, short jakým se mapuje na __int16. Parametr /Zc:wchar_t je standardně zapnutý.

Vynucení shody v oboru smyčky For

Implementuje standardní chování jazyka for C++ pro smyčky příkazů s rozšířeními Microsoftu. Sets /Za, /Ze (Zakažte jazyková rozšíření. Parametr /Zc:forScope je standardně zapnutý.

Odebrání neodkazovaného kódu a dat

Po zadání už kompilátor negeneruje informace o symbolech pro neodkazovaný kód a data.

Vynucení pravidel převodu typů

Slouží k identifikaci typu odkazu rvalue v důsledku operace přetypování podle standardu C++11.

Povolení informací o typu runtime

Přidá kód pro kontrolu typů objektů C++ za běhu (informace o typu modulu runtime nebo RTTI). Množiny /GR, /GR-.

Open MP Support

Povolí jazyková rozšíření OpenMP 2.0. Množiny /openmp.

Standard jazyka C++

Určuje jazykový standard jazyka C++, který kompilátor povolí. Výchozí hodnota nenastavuje standardní možnost, takže kompilátor používá výchozí nastavení C++14. Pokud vyberete konkrétní hodnotu, odpovídající /std možnost kompilátoru je set.md).

Volby

  • Výchozí (standard ISO C++14)
  • ISO C++14 Standard (/std:c++14)
  • ISO C++17 Standard (/std:c++17)
  • ISO C++20 Standard (/std:c++20)
  • Preview – funkce z nejnovějšího funkčního konceptu jazyka C++ (/std:c++latest)

Standard jazyka C

Určuje jazykový standard jazyka C, který kompilátor povolí. Výchozí hodnota nenastavuje standardní možnost, takže kompilátor používá výchozí starší nastavení MSVC. Pokud vyberete konkrétní hodnotu, odpovídající /std možnost kompilátoru je set.md).

Volby

  • Výchozí (starší verze MSVC)
  • ISO C11 Standard (/std:c11)
  • ISO C17 (2018) Standard (/std:c17)

Režim shody

Povolí nebo potlačí režim shody. Množiny /permissive-.

Povolení experimentálních modulů standardní knihovny C++

Experimentální podpora pro moduly C++ TS a standardní knihovny.

Sestavení modulů standardní knihovny ISO C++23

Počínaje sadou Visual Studio 17.6 je tato vlastnost povolená a jazykový standard jazyka C++ je nastaven na /std:c++latest, projekty Visual C++ automaticky vyhledá a sestavují moduly standardní knihovny ISO C++23. To vám umožní nebo import stdimport std.compat v kódu jazyka C++.

Vlastnosti předkompilovaných hlaviček C/C++

Vytvoření nebo použití předkompilované hlavičky

Povolí vytvoření nebo použití předkompilované hlavičky během sestavení. Množiny /Yc, /Yu.

Volby

  • Create – dává kompilátoru pokyn, aby vytvořil předkompilovaný soubor hlavičky (.pch), který představuje stav kompilace v určitém okamžiku.
  • Použití – dává kompilátoru pokyn, aby v aktuální kompilaci použil existující předkompilovaný soubor hlavičky (.pch).
  • Nepoužívá předkompilované hlavičky – nepoužívá předkompilované hlavičky.

Předkompilovaný soubor hlaviček

Určuje název souboru hlavičky, který se má použít při vytváření nebo použití předkompilovaného souboru hlaviček. Množiny /Yc, /Yu.

Předkompilovaný výstupní soubor hlavičky

Určuje cestu nebo název vygenerovaného předkompilovaného hlavičkového souboru. Množiny /Fp.

Vlastnosti výstupních souborů C/C++

Rozbalit atributovaný zdroj

Vytvořte výpis souboru s rozbalenými atributy vloženými do zdrojového souboru. Množiny /Fx.

Výstup assembleru

Určuje obsah výstupního souboru jazyka sestavení. Sady /FA, /FAc, /FAs, /FAcs.

Volby

  • Bez výpisu – bez výpisu.
  • Výpis pouze sestavení – kód sestavení; .asm
  • Sestavení s strojovým kódem - strojový a montážní kód; .cod
  • Sestavení se zdrojovým kódem – zdrojový kód a kód sestavení; .asm
  • Sestavení, strojový kód a zdroj - sestavení, strojový kód a zdrojový kód; .cod

Použití kódu Unicode pro výpis assembleru

Způsobí vytvoření výstupního souboru ve formátu UTF-8.

Umístění seznamu ASM

Určuje relativní cestu nebo název souboru výpisu ASM; může být název souboru nebo adresáře. Množiny /Fa.

Název souboru objektu

Určuje název, který má přepsat výchozí název souboru objektu; může být název souboru nebo adresáře. Množiny /Fo.

Název souboru databáze programu

Určuje název souboru PDB generovaného kompilátorem; také určuje základní název požadovaného souboru IDB generovaného kompilátorem; může být název souboru nebo adresáře. Množiny /Fd.

Generování souborů dokumentace XML

Určuje, že kompilátor by měl generovat soubory komentářů dokumentace XML (. XDC). Množiny /doc.

Název souboru dokumentace XML

Určuje název vygenerovaných souborů dokumentace XML; může být název souboru nebo adresáře. Nastaví /doc:<název>.

Vlastnosti procházení informací v C/C++

Povolit informace o procházení

Určuje úroveň informací o procházení v .bsc souboru. Množiny /FR.

Procházet informační soubor

Určuje volitelný název informačního souboru prohlížeče. Nastaví /FR<název>.

Externí zahrnutí

Zacházení se soubory zahrnutými v hranatých závorkách jako s externími

Určuje, jestli se mají soubory zahrnuté do úhlových závorek považovat za externí. Nastavte tuto vlastnost na Ano , chcete-li nastavit možnost kompilátoru /external:anglebrackets .

Úroveň upozornění externího záhlaví

Vyberte, jak striktní má kompilátor být o chybách kódu v externích hlavičkách. Tato vlastnost nastaví možnost kompilátoru /external:Wn . Pokud je tato hodnota nastavená na Úroveň upozornění projektu nebo výchozí, /external ostatní možnosti se ignorují.

Diagnostika šablon v externích hlavičkách

Určuje, jestli se má vyhodnotit úroveň upozornění v řetězu instancí šablony. Nastavte tuto vlastnost na Ano , chcete-li nastavit možnost kompilátoru /external:templates- .

Zakázání analýzy kódu pro externí hlavičky

Zakáže analýzu kódu pro externí hlavičky. Nastaví možnost kompilátoru /analyze:external- .

Sada pravidel analýzy pro externí hlavičky

Určuje přepsání sady pravidel analýzy kódu pro externí hlavičky. Pokud není zadáno, použije se nastavení analýzy kódu. Nastaví možnost kompilátoru /analyze:external:ruleset path .

Rozšířené vlastnosti jazyka C/C++

Konvence volání

Vyberte výchozí konvenci volání pro vaši aplikaci (můžete ji přepsat funkcí). Sady /Gd, /Gr, /Gz, /Gv.

Volby

  • __cdecl - Určuje __cdecl konvenci volání pro všechny funkce s výjimkou členských funkcí jazyka C++ a funkcí označených __stdcall nebo __fastcall.
  • __fastcall - Určuje __fastcall konvenci volání pro všechny funkce s výjimkou členských funkcí jazyka C++ a funkcí označených __cdecl nebo __stdcall. Všechny __fastcall funkce musí mít prototypy.
  • __stdcall - Určuje __stdcall konvenci volání pro všechny funkce s výjimkou členských funkcí jazyka C++ a funkcí označených __cdecl nebo __fastcall. Všechny __stdcall funkce musí mít prototypy.
  • __vectorcall - Určuje __vectorcall konvenci volání pro všechny funkce s výjimkou členských funkcí jazyka C++ a funkcí označených __cdecl, __fastcallnebo __stdcall. Všechny __vectorcall funkce musí mít prototypy.

Zkompilovat jako

Vyberte možnost zkompilovat jazyk pro zdrojové soubory. Sady /TC, / /TProzhraní , /internalPartitionnebo /exportHeader možnosti.

Volby

  • Výchozí – výchozí.
  • Zkompilovat jako kód jazyka C (/TC) – Zkompilujte zadané zdrojové soubory jako kód jazyka C. Ve výchozím nastavení se soubory s příponou .c kompilují jako C.
  • Zkompilovat jako kód C++ (/TP) – Zkompilujte zadané zdrojové soubory jako kód C++. Ve výchozím nastavení se všechny zdrojové soubory, které nemají příponu .c, .ixx, .cppm.hkompilují jako C++.
  • Zkompilovat jako kód modulu C++ (/interface) – Zkompilujte zadané zdrojové soubory jako kód modulu C++. Ve výchozím nastavení se soubory s příponou nebo .cppm příponou .ixx kompilují jako kód modulu C++.
  • Zkompilovat jako interní oddíl modulu C++ (/internalPartition) – Zkompilujte zadané zdrojové soubory jako interní oddíl modulu C++.
  • Zkompilovat jako jednotku hlaviček C++ (/exportHeader) – Zkompilujte zadané zdrojové soubory jako jednotku hlaviček C++. Ve výchozím nastavení se soubory s příponou .h nebo bez přípony kompilují jako jednotky hlaviček.

Zakázat konkrétní upozornění

Zakažte zadaná čísla upozornění. Čísla upozornění umístěte do seznamu oddělených středníkem. Nastaví /wd<číslo>.

Vynucený soubor zahrnutí

jeden nebo více vynucených souborů zahrnutí. Nastaví /FI<název>.

Soubor s vynuceným #using

Určuje jeden nebo více vynucených #using souborů. Nastaví /FU<název>.

Zobrazit zahrnutí

Vygeneruje seznam souborů zahrnutí s výstupem kompilátoru. Množiny /showIncludes.

Použití úplných cest

Používejte v diagnostických zprávách úplné cesty. Množiny /FC.

Vynechání výchozího názvu knihovny

Neobsahuje výchozí názvy knihoven v .obj souborech. Množiny /Zl.

Zasílání zpráv o vnitřních chybách kompilátoru

Poznámka

Tato možnost je zastaralá. Počínaje systémem Windows Vista je zasílání zpráv o chybách řízeno nastavením Zasílání zpráv o chybách systému Windows (WER).

Zpracování konkrétních upozornění jako chyb

Zachází s konkrétním upozorněním kompilátoru jako s chybou, kdy n je upozornění kompilátoru.

Další možnosti

Další možnosti.