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 .ixx
a 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.
- Safe MSIL Common Language RunTime Support – 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
,__forceinline
nebo__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í bezpečných vláken
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 celého programu
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
, /O2
a /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ázevLIBCMTD.lib
knihovny do.obj
souboru, aby linker použilLIBCMTD.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 ,_MT
a 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ázevMSVCRTD.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:cf
guardů . - 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í. Nastavuje
/arch:SSE
- Streamování ROZŠÍŘENÍ SIMD 2 - Streamování SIMD Rozšíření 2. Nastavuje
/arch:SSE2
- Rozšířená vektorová rozšíření – rozšířená vektorová rozšíření. Nastavuje
/arch:AVX
- Advanced Vector Extensions 2 - Advanced Vector Extensions 2. Nastavuje
/arch:AVX2
- Žádné vylepšené instrukce – žádné rozšířené instrukce. Nastavuje
/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á afenv_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 std
import 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
,__fastcall
nebo__stdcall
. Všechny__vectorcall
funkce musí mít prototypy.
Zkompilovat jako
Vyberte možnost zkompilovat jazyk pro zdrojové soubory. Sady /TC
, / /TP
rozhraní , /internalPartition
nebo /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
.h
kompilují 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.