Megosztás a következőn keresztül:


C/C++ tulajdonságlapok

A következő tulajdonságlapok a ProjectProperties Configuration Properties C/C++ (>>konfigurációs tulajdonságai>C/C++) területén találhatók:

C/C++ Általános tulajdonságok

További belefoglalási könyvtárak

A belefoglalási útvonalhoz hozzáadni kívánt egy vagy több könyvtárat adja meg. Különítse el a pontosvesszővel (';) rendelkező könyvtárakat, ha több is van. /I A (További belefoglalási könyvtárak) fordítóbeállítás beállítása.

További #using könyvtárak

Egy vagy több könyvtárat ad meg, amely(ek)ben az irányelvnek átadott nevek feloldása érdekében keresést végez. Különítse el a könyvtárakat pontosvesszők (';') használatával, ha több van. Beállítja a /AI fordítóbeállítást.

További BMI könyvtárok

Az irányelvnek import átadott nevek feloldásához egy vagy több könyvtárat ad meg. Több könyvtár esetén válassza el őket pontosvesszővel (';'). Beállítja a /ifcSearchDir[path] fordítóbeállítást.

További modulfüggőségek

Egy vagy több modult határoz meg a import irányelvnek átadott nevek feloldásához. Különítse el a pontosvesszővel (';) rendelkező könyvtárakat, ha több is van. Beállítja a /reference fordítóbeállítást.

További fejlécegység-függőségek

Egy vagy több fejlécegységet ad meg a fejlécirányelméletnek import átadott nevek feloldásához. Ha több könyvtár van, különítse el őket pontosvesszővel (';'). Beállítja a /headerUnit fordítóbeállítást.

Források vizsgálata modulfüggőségekhez

Ha Igen értékre van állítva, a fordító az összes C++ forrást megvizsgálja, nem csak a modul felületét és fejlécegység-forrásait, hanem a modul- és fejlécegység-függőségeket is. A buildelési rendszer létrehozza a teljes függőségi gráfot, amely biztosítja, hogy az összes importált modul és fejlécegység a tőlük függő fájlok összeállítása előtt készüljön el. Amikor a Fordítás beleértve importálásra lehetőséggel van kombinálva, bármely fejlécfájl, amelyet a fejlécfájllal azonos könyvtárban található header-units.json fájlban adnak meg, egy fejlécegységgé fordítódik.

Azok a fájlok, amelyek kiterjesztése , és azok a fájlok, amelyek Fájl tulajdonságaikC/C++Fordítás C++ fejlécegységként (/exportHeader) beállítással rendelkeznek, mindig ellenőrzésre kerülnek.

Az "includes" kifejezést fordítsa "importokra"

Ha igen értékre van állítva, a fordító irányelvként #include kezeli az irányelveketimport, ha bizonyos feltételek teljesülnek: A fejlécfájl ugyanabban header-units.json a könyvtárban található fájlban van megadva, és a fejlécfájlhoz elérhető egy lefordított fejlécegység (egy .ifc fájl). Ellenkező esetben a fejlécfájlt a rendszer normálként #includekezeli. A header-units.json fájl fejlécegységek létrehozására szolgál minden szimbólum #include duplikálása nélkül. A modulfüggőségek forráskeresésével kombinálva a fordító automatikusan megkeresi a fejlécegységekbe fordítható összes fejlécfájlt. Ez a tulajdonság beállítja a /translateInclude fordító opciót.

Hibakeresési információformátum

Megadja a fordító által létrehozott hibakeresési információk típusát. Ehhez a tulajdonsághoz kompatibilis csatolási beállítások szükségesek. Beállítja /Z7a , /Zi, /ZI (Hibakeresési információformátum) fordító beállításait.

Választás

  • Nincs – Nem hoz létre hibakeresési információkat, így a fordítás gyorsabb lehet.
  • C7 kompatibilis – Válassza ki a programhoz létrehozott hibakeresési információkat, és hogy az adatok objektumfájlokban (.obj) vagy programadatbázisban (PDB) találhatók-e.
  • Programadatbázis – Létrehoz egy programadatbázist (PDB), amely típusadatokat és szimbolikus hibakeresési információkat tartalmaz a hibakeresővel való használatra. A szimbolikus hibakeresési információk közé tartoznak a változók és függvények nevei és típusai, valamint a vonalszámok.
  • Programadatbázis szerkesztéshez és folytatáshoz – A korábban ismertetett programadatbázist a Szerkesztés és folytatás funkciót támogató formátumban állítja elő.

"Just My Code hibakeresés támogatása"

Hozzáad támogatást a Just My Code hibakeresés engedélyezéséhez ehhez a fordítási egységhez. Beállítja a elemet /JMC.

Közös nyelvi futtatókörnyezet támogatása

Használja a .NET futtatókörnyezet szolgáltatást. Ez a kapcsoló nem kompatibilis más kapcsolókkal; részletekért tekintse meg a /clr kapcsolócsalád dokumentációját.

Választás

  • Nincs közös nyelvi futtatókörnyezet-támogatás – Nincs közös nyelvi futtatókörnyezet-támogatás
  • Közös nyelvi futtatókörnyezet támogatása – Olyan metaadatokat hoz létre az alkalmazáshoz, amelyeket más CLR-alkalmazások felhasználhatnak. Emellett lehetővé teszi az alkalmazás számára, hogy más CLR-összetevők metaadataiban használjon fel típusokat és adatokat.
  • Tiszta MSIL Common Language RunTime-támogatás – Csak MSIL-alapú kimeneti fájlt hoz létre natív végrehajtható kód nélkül, bár tartalmazhat az MSIL-be lefordított natív típusokat.
  • Biztonságos MSIL Common Language RunTime-támogatás – Csak MSIL-t (natív végrehajtható kód nélkül) és ellenőrizhető kimeneti fájlt hoz létre.

Windows futtatókörnyezeti bővítmény használata

Használja a Windows futtatókörnyezet nyelvbővítményeit. Beállítja a elemet /ZW.

Indítási szalagcím letiltása

Letiltja a bejelentkezési szalagcím megjelenítését, amikor a fordító elindul, és a fordítás során információs üzeneteket jelenít meg.

Figyelmeztetési szint

Adja meg, hogy a fordító milyen szigorú legyen a kódhibákkal kapcsolatban. Beállítja a elemet /W0 - /W4.

Választás

  • Az összes figyelmeztetés kikapcsolása – A 0. szint letiltja az összes figyelmeztetést.
  • 1. szint – Az 1. szint súlyos figyelmeztetéseket jelenít meg. Az 1. szint a parancssor alapértelmezett figyelmeztetési szintje.
  • 2. szint – A 2. szint megjeleníti az összes 1. szintű figyelmeztetést és az 1. szintnél kevésbé súlyos figyelmeztetéseket.
  • Level3 – A Level 3 megjeleníti a 2. szintű figyelmeztetéseket és a gyártási célokra ajánlott összes többi figyelmeztetést.
  • Level4 – A 4. szint megjeleníti a 3. szintű figyelmeztetéseket, valamint az információs figyelmeztetéseket, amelyek a legtöbb esetben biztonságosan figyelmen kívül hagyhatók.
  • EnableAllWarnings – Engedélyezi az összes figyelmeztetést, beleértve az alapértelmezés szerint letiltott figyelmeztetéseket is.

Figyelmeztetések hibaként kezelése

A fordító figyelmeztetéseit hibákként kezeli. Egy új projekt esetében érdemes lehet minden fordításban használni /WX . A nehezen megtalálható kódhibák minimalizálása érdekében oldja meg az összes figyelmeztetést.

Figyelmeztetés verziója

A fordító egy adott verziója után megjelenő figyelmeztetések elrejtése. Beállítja a elemet /Wv:xx[.yy[.zzzzz]].

Diagnosztikai formátum

Lehetővé teszi a gazdag diagnosztikát oszlopinformációkkal és forráskörnyezettel a diagnosztikai üzenetekben.

Választás

  • Caret – Oszlopinformációkat tartalmaz a diagnosztikai üzenetben. Kiírja a forráskód releváns sorát egy kalappal, amely a hibás oszlopot jelzi.
  • Oszlopadatok – Emellett megadja az oszlopszámot azon a sorban belül, ahol a diagnosztika ki van adva, ahol alkalmazható.
  • Klasszikus – Csak az előző, tömör diagnosztikai üzeneteket adja ki a sorszámmal.

SDL-ellenőrzések

További biztonsági fejlesztési életciklus (SDL) keretében javasolt ellenőrzések; lehetőség nyílik a biztonságosabb kódgenerálási funkciók használatára, és a biztonsági szempontból releváns figyelmeztetések hibaként kezelhetők. Készletek /sdl, /sdl-.

Többprocesszoros fordítás

Többprocesszoros fordítás engedélyezése. Beállítja a /MP fordítóbeállítást.

Address Sanitizer engedélyezése

Lefordítja és összekapcsolja a programot a AddressSanitizer eszközkészlettel. Ez a tulajdonság jelenleg az x86- és x64-alapú cél buildeket támogatja. Beállítja a /fsanitize fordítóbeállítást.

C/C++ optimalizálási tulajdonságok

Optimization

A kódoptimalizálás lehetőségének kiválasztása; az Egyéni elemet választva konkrét optimalizálási beállításokat használhat. Készletek /Od, /O1, /O2.

Választás

  • Egyéni – Egyéni optimalizálás.
  • Letiltva – Az optimalizálás letiltása.
  • Maximális optimalizálás (előnyméret) – Egyenértékű a /Os /Oy /Ob2 /Gs /GF /Gy
  • Maximális optimalizálás (favor speed) – Egyenértékű a /Oi /Ot /Oy /Ob2 /Gs /GF /Gy
  • Optimalizálás (Gyorsaság Előnyben) – Egyenértékű a /Oi /Ot /Oy /Ob2

Beágyazott függvénybővítés

Válassza ki az inline függvény bővítési szintjét a build számára. Beállítja a elemet /Ob.

Választás

  • Alapértelmezett
  • Letiltva – Letiltja a beágyazott bővítményt, amely alapértelmezés szerint be van kapcsolva.
  • Csak __inline – Csak a inline, __forceinline vagy __inline címkével megjelölt függvényeket bontja ki. Vagy egy C++ tagfüggvényben egy osztálydeklarációban definiálva.
  • Bármely alkalmas – Kibontja a inline vagy __inline elemekkel megjelölt függvényeket, valamint bármely más függvényt, amelyet a fordító választ. (A bővítés a fordító saját belátása szerint történik, amelyet gyakran autoinliningnek neveznek.)

Belső függvények engedélyezése

Intrinszikus függvényeket engedélyez. A belső függvények használata gyorsabb, de valószínűleg nagyobb kódot eredményez. Beállítja a elemet /Oi.

Méret vagy sebesség előnyben részesítés

A kódméret vagy a kódsebesség előnyben részesítése; A "Globális optimalizálás" funkciót be kell kapcsolni. Készletek /Ot, /Os.

Választás

  • Kis kód előnyben részesítése – Minimalizálja az EXE-k és DLL-ek méretét azáltal, hogy arra utasítja a fordítót, hogy a méretet előnyben részesítse a sebességnél.
  • A gyors kód előnyben részesítése – Maximalizálja az EXE-k és DLL-ek sebességét azáltal, hogy arra utasítja a fordítót, hogy a méret feletti sebességet részesítse előnyben. (Ez az alapértelmezett érték.)
  • Sem - Nincs méret- és sebességoptimalizálás.

Keretmutatók kihagyása

Letiltja a keretmutatók létrehozását a hívásveremen.

Fiber-Safe-optimalizálás engedélyezése

Lehetővé teszi a memóriatér optimalizálását szál- és szálalapú helyi tárhozzáférés használatakor. Beállítja a elemet /GT.

Teljes programoptimalizálás

Lehetővé teszi a modulközi optimalizálásokat azáltal, hogy a kódgenerálást elhalasztja a linkelési időpontban. A fordítókapcsolóhoz szükséges a Link Time Code Generation. Beállítja a elemet /GL.

C/C++ előfeldolgozó tulajdonságai

Preprocesszor-definíciók

A forrásfájl előfeldolgozási szimbólumait határozza meg.

Undefine Preprocessor Definíciók

Egy vagy több előfeldolgozó undefines paramétert ad meg. Beállítások /U.

Minden előfeldolgozó definíció törlése

Minden korábban definiált előfeldolgozási érték visszavonása. Beállítja a elemet /u.

Standard belefoglalási útvonalak figyelmen kívül hagyása

Megakadályozza, hogy a fordító belefoglaló fájlokat keressen a INCLUDE környezeti változókban megadott könyvtárakban.

Fájl előfeldolgozása

A C és C++ forrásfájlok előfeldolgozása és az előre feldolgozott kimenet fájlba írása. Ez a beállítás letiltja a fordítást, és nem hoz létre .obj fájlt.

** Előfeldolgozás: Sorszámok elrejtése

Előfeldolgozás #line irányelvek nélkül.

Megjegyzések megőrzése

Letiltja a megjegyzéssávot a forráskódból; az előfeldolgozási beállítások közül legalább egyet meg kell adnia. Beállítja a elemet /C.

C/C++ kódgenerálási tulajdonságok

Sztringkészletezés engedélyezése

A fordító csak egy írásvédett másolatot hoz létre a programképe azonos karakterláncairól. Kisebb programokat hoz létre, amit "string poolingnek" nevezett optimalizálásnak hívnak. /O1, /O2majd /ZI automatikusan állítsa be a /GF beállítást.

Minimális újraépítés engedélyezése

Lehetővé teszi a minimális újraépítést, amely meghatározza, hogy újrafordítson-e olyan C++ forrásfájlokat, amelyek módosított C++ osztálydefiníciókat tartalmaznak, és amelyek fejlécfájlokban .h vannak tárolva.

C++ kivételek engedélyezése

A fordító által használandó kivételkezelés modelljét adja meg.

Választás

  • Igen a SEH-kivételekkel – A kivételkezelési modell, amely aszinkron (strukturált) és szinkron (C++) kivételeket kap. Beállítja a elemet /EHa.
  • Igen – A kivételkezelési modell, amely csak C++ kivételeket kap, és arra utasítja a fordítót, hogy feltételezze, hogy az extern C függvények soha nem adnak C++ kivételt. Beállítja a elemet /EHsc.
  • Igen az Extern C függvényekkel – A kivételkezelési modell, amely csak C++ kivételeket kap, és arra utasítja a fordítót, hogy feltételezze, hogy az extern C függvények kivételt eredményeznek. Beállítja a elemet /EHs.
  • Nem – Nincs kivételkezelés.

Kisebb típusellenőrzés

Engedélyezze a kisebb típusokra való átalakítás ellenőrzését, és ne legyen kompatibilis a hibakeresésen kívüli optimalizálási típusokkal. Beállítja a elemet /RTCc.

Alapszintű futásidejű ellenőrzések

Alapszintű futásidejű hibaellenőrzések engedélyezése, amelyek nem kompatibilisek a hibakeresésen kívüli optimalizálási típusokkal. Készletek /RTCs, /RTCu, /RTC1

Választás

  • Stack Frames – Lehetővé teszi a veremkeretek futásidejű hibaellenőrzését.
  • Nem inicializált változók – Azt jelenti, hogy a rendszer inicializálás nélkül használ egy változót.
  • Mindkettő (/RTC1, egyenértékű a /RTCsu- vel) – A /RTCsu.
  • Alapértelmezett – Alapértelmezett futtatókörnyezet-ellenőrzések.

Futtatókörnyezet könyvtár

Adja meg a futásidejű kódtárat a csatoláshoz. Készletek /MT, /MTd, /MD/MDd.

Választás

  • Többszálas – Az alkalmazás a futásidejű kódtár többszálú, statikus verzióját használja.
  • Többszálas hibakeresés – Definiálja _DEBUG és _MT. Ez a beállítás azt is okozza, hogy a fordító elhelyezi a könyvtár nevét LIBCMTD.lib a .obj fájlban, így a szerkesztő LIBCMTD.lib segítségével oldja fel a külső szimbólumokat.
  • Többszálas DLL – Az alkalmazás a futásidejű kódtár többszálú és DLL-specifikus verzióját használja. _MT és _DLL meghatározza, és hatására a fordító az MSVCRT.lib könyvtár nevét elhelyezi a .obj fájlba.
  • Többszálas hibakeresési DLL – Meghatározza _DEBUG, _MT, és _DLL, és az alkalmazást a futásidejű könyvtár többszálas és DLL-specifikus verziójának hibakeresésére készteti. Emellett a fordító a kódtár nevét MSVCRTD.lib is a .obj fájlba helyezi.

Tagigazítás felépítése

Strukturális tagok igazítására 1, 2, 4 vagy 8 bájtos határokat ad meg. Beállítja a elemet /Zp.

Választás

  • 1 bájt – Egy bájtos határok mentén csomagolja a struktúrákat. Ugyanaz, mint /Zp.
  • 2 bájt – A struktúrákat kétbájtos határokra csomagolja.
  • 4 bájt – A struktúrákat négy bájtos határok mentén csomagolja.
  • 8 bájt – Nyolcbájtos határokra csomagolja a struktúrákat (alapértelmezés).
  • 16 bájt – Tizenhat bájtos határokra csomagolja a struktúrákat.
  • Alapértelmezett – Alapértelmezett igazítási beállítások.

Biztonsági ellenőrzés

A biztonsági ellenőrzés segít észlelni a verempuffer túlcsordulásait, amelyek a program biztonsága elleni gyakori támadások közé tartoznak.

Választás

  • Biztonsági ellenőrzés letiltása – A biztonsági ellenőrzés letiltása. Beállítja a elemet /GS-.
  • Biztonsági ellenőrzés engedélyezése – Biztonsági ellenőrzés engedélyezése. Beállítja a elemet /GS.

Vezérlési Folyamat Őr (Control Flow Guard)

A biztonsági ellenőrzés segít észlelni az illegális kódblokkba történő küldési kísérleteket.

Választás

  • Igen – Biztonsági ellenőrzés engedélyezése védőkészletekkel /guard:cf.
  • No

Függvényszintű csatolás engedélyezése

Lehetővé teszi, hogy a fordító csomagolt függvények (COMDAT-k) formájában csomagoljon be egyes függvényeket. A szerkesztéshez és a munka folytatásához szükséges. Beállítja a elemet /Gy.

Párhuzamos kódlétrehozás engedélyezése

Lehetővé teszi, hogy a fordító párhuzamos kódot generáljon az #pragma loop(hint_parallel[(n)]) hurkokhoz, amelyeket a fordítás optimalizálásának engedélyezésekor azonosítanak.

Továbbfejlesztett utasításkészlet engedélyezése

A bővített utasításkészleteket támogató processzorokon található utasítások használatának engedélyezése. Az SSE, az SSE2, az AVX és az AVX2 fejlesztései például az IA-32-hez. Az AVX és az AVX2 fejlesztések az x64-hez. Jelenleg /arch:SSE és /arch:SSE2 csak az x86-os architektúra létrehozásakor érhetők el. Ha nincs megadva lehetőség, a fordító az SSE2-t támogató processzorokon található utasításokat használja. A továbbfejlesztett utasítások használata letiltható a következővel /arch:IA32: . További információ: /arch (x86), /arch (x64), /arch (ARM64)és /arch (ARM).

Választás

  • Streaming SIMD-bővítmények – Streaming SIMD-bővítmények. Készletek /arch:SSE
  • Streaming SIMD Extensions 2 – Streaming SIMD Extensions 2. Készletek /arch:SSE2
  • Speciális vektorkiterjesztések – Speciális vektorkiterjesztések. Készletek /arch:AVX
  • Advanced Vector Extensions 2 – Advanced Vector Extensions 2. Készletek /arch:AVX2
  • Nincs továbbfejlesztett utasítás – Nincs továbbfejlesztett utasítás. Készletek /arch:IA32
  • Nincs beállítva – Nincs beállítva.

Lebegőpontos modell

Beállítja a lebegőpontos modellt. Készletek /fp:precise, /fp:strict, /fp:fast

Választás

  • Pontos – Alapértelmezett. Javítja a lebegőpontos tesztek konzisztenciáját az egyenlőség és az egyenlőtlenség szempontjából.
  • Szigorú – A legszigorúbb lebegőpontos modell. /fp:strict okból fp_contract ki van kapcsolva, és fenv_access be van kapcsolva. /fp:except hallgatólagosan van jelen, és /fp:except- explicit megadással letiltható. A /fp:except- használatával /fp:strict szigorú lebegőpontos szemantikát alkalmaz, de nem veszi figyelembe a kivételes eseményeket.
  • Gyors – A legtöbb esetben a leggyorsabb kódot hozza létre.

Lebegőpontos kivételek engedélyezése

Megbízható lebegőpontos kivételmodell. A kivételek azonnal megjelennek az aktiválásuk után. Beállítja a elemet /fp:except.

Hotpatch-olható kép létrehozása

Ha a forrójavítás be van kapcsolva, a fordító biztosítja, hogy az egyes függvények első utasítása két bájtos legyen a forrójavításhoz. Beállítja a elemet /hotpatch.

Spectre-kockázatcsökkentés

A CVE 2017-5753 spectre-kockázatcsökkentései. Beállítja a elemet /Qspectre.

Választás

  • Engedélyezve – Spectre-kockázatcsökkentési funkció engedélyezése a CVE 2017-5753-hoz
  • Letiltva – Nincs beállítva.

C/C++ nyelvi tulajdonságok

Nyelvi bővítmények letiltása

Letiltja vagy engedélyezi a nyelvi bővítményeket. Beállítja a elemet /Za.

Kezelje a WChar_t típust beépített típusként

Ha meg van adva, a típus wchar_t natív típussá válik, amely ugyanúgy van leképezve __wchar_t-re, mint short__int16-re. /Zc:wchar_t alapértelmezés szerint be van kapcsolva.

A for ciklus hatókörének megfelelésének kényszerítése

A for utasításhurkok szabványos C++ viselkedését valósítja meg, amelyek Microsoft-bővítményeket tartalmaznak. Beállítások /Za, /Ze (Nyelvi bővítmények letiltása. /Zc:forScope alapértelmezés szerint be van kapcsolva.

Nem hivatkozott kód és adatok eltávolítása

Ha meg van adva, a fordító már nem generál szimbólumadatokat a nem hivatkozott kódhoz és adatokhoz.

Típuskonvertálási szabályok kényszerítése

A C++11 szabványnak megfelelő öntött művelet eredményeként egy rvalue referenciatípus azonosítására szolgál.

Run-Time típusadatok engedélyezése

Kódot ad hozzá a C++ objektumtípusok futásidőben történő ellenőrzéséhez (futtatókörnyezet típusadatai vagy RTTI). Készletek /GR, /GR-.

Mp-támogatás megnyitása

Engedélyezi az OpenMP 2.0 nyelvi bővítményeket. Beállítja a elemet /openmp.

C++ nyelvi szabvány

Meghatározza a fordító által engedélyezett C++ nyelvi szabványt. Az alapértelmezett érték nem állít be standard beállítást, ezért a fordító az alapértelmezett C++14 beállítást használja. Ha egy adott értéket választ ki, a megfelelő /std fordító beállítása történik.

Választás

  • Alapértelmezett (ISO C++14 Standard)
  • ISO C++14 Standard (/std:c++14)
  • ISO C++17 Standard (/std:c++17)
  • ISO C++20 Standard (/std:c++20)
  • Előzetes verzió – A legújabb C++ munkavázlat funkciói (/std:c++legújabb)

C nyelvi szabvány

Meghatározza azt a C nyelvi szabványt, amelyet a fordító engedélyez. Az alapértelmezett érték nem állít be standard beállítást, ezért a fordító az alapértelmezett örökölt MSVC-beállítást használja. Ha egy adott értéket választ ki, a megfelelő /std fordítóbeállítás beállításra kerül.

Választás

  • Alapértelmezett (régi MSVC)
  • ISO C11 Standard (/std:c11)
  • ISO C17 (2018) Standard (/std:c17)

Megfelelőség mód

Engedélyezi vagy letiltja a megfelelőségi módot. Beállítja a elemet /permissive-.

Kísérleti C++ standard kódtármodulok engedélyezése

A C++ modulok TS- és standard kódtármoduljainak kísérleti támogatása.

ISO C++23 standard kódtármodulok létrehozása

A Visual Studio 17.6-tól kezdve, ha ez a tulajdonság engedélyezve van, és a C++ Language Standard értéke van beállítva /std:c++latest, a Microsoft C++ projektek automatikusan megkeresik és elkészítik az ISO C++23 standard kódtár modulokat. Ez lehetővé teszi a import stdimport std.compat C++ kód használatát.

C/C++ előre összeállított fejlécek tulajdonságai

Előre összeállított fejléc létrehozása/használata

Lehetővé teszi egy előre összeállított fejléc létrehozását vagy használatát a build során. Készletek /Yc, /Yu.

Választás

  • Létrehozás – Utasítja a fordítót, hogy hozzon létre egy előre összeállított fejlécfájlt (.pch) amely egy adott ponton a fordítás állapotát jelöli.
  • Használat – Utasítja a fordítót, hogy használjon egy meglévő előre összeállított fejlécfájlt (.pch) az aktuális fordításban.
  • Nem használ előre összeállított fejléceket – Nem használ előre összeállított fejléceket.

Előre összeállított fejlécfájl

Megadja az előre összeállított fejlécfájl létrehozásakor vagy használatakor használandó fejlécfájl nevét. Készletek /Yc, /Yu.

Előre összeállított fejléckimenetfájl

Megadja a létrehozott előre összeállított fejlécfájl elérési útját vagy nevét. Beállítja a elemet /Fp.

C/C++ kimeneti fájlok tulajdonságai

Attribútumos forrás kibővítése

Hozzon létre egy listafájlt a forrásfájlba beszúrt bővített attribútumokkal. Beállítja a elemet /Fx.

Összeszerelő kimenete

Meghatározza az assembly nyelv kimeneti fájljának tartalmát. Készletek /FA, /FAc, /FAs/FAcs.

Választás

  • Nincs lista – Nincs listaelem.
  • Assembly-Only lista – szerelvény kódja; .asm
  • Szerelvény gépkóddal – Gép- és szerelvénykód; .cod
  • Szerelvény forráskóddal – Forrás- és szerelvénykód; .asm
  • Szerelvény, gépkód és forrás – Szerelvény, gépkód és forráskód; .cod

A Unicode használata az assembler listához

A kimeneti fájl UTF-8 formátumban való létrehozását okozza.

ASM-lista helye

Az ASM-listafájl relatív elérési útját vagy nevét adja meg; lehet fájl- vagy könyvtárnév. Beállítja a elemet /Fa.

Objektum fájl neve

Megadja az alapértelmezett objektumfájlnév felülbírálásához megadott nevet; lehet fájl- vagy könyvtárnév. Beállítja a elemet /Fo.

Programadatbázis fájlneve

Egy fordító által létrehozott PDB-fájl nevét adja meg; a szükséges fordító által létrehozott IDB-fájl alapnevét is megadja; lehet fájl- vagy könyvtárnév. Beállítja a elemet /Fd.

XML-dokumentációs fájlok létrehozása

Meghatározza, hogy a fordítónak XML-dokumentációs megjegyzésfájlokat kell létrehoznia (. XDC). Beállítja a elemet /doc.

XML-dokumentáció fájlneve

Megadja a létrehozott XML-dokumentációs fájlok nevét; lehet fájl- vagy könyvtárnév. Beállítja /doc:< a nevet>.

C/C++ Böngészési információ tulajdonságai

Tallózási információk engedélyezése

A fájl tallózási információinak .bsc szintjét adja meg. Beállítja a elemet /FR.

Tallózás az információs fájlban

A böngésző információs fájljának opcionális nevét adja meg. Beállítja /FR< a nevet>.

Külső hivatkozások

Szögletes zárójelekkel ellátott fájlok kezelése külsőként

Meghatározza, hogy a szögletes zárójelekben szereplő fájlokat külsőként kezelje-e. Állítsa ezt a tulajdonságot Igen értékre a /external:anglebrackets fordító beállításának beállításához.

Külső fejléc figyelmeztetési szintje

Adja meg, hogy a fordító milyen szigorú legyen a külső fejlécek kódhibáival kapcsolatban. Ez a tulajdonság beállítja a /external:Wn fordító opciót. Ha ez az érték a projekt figyelmeztetési szintjének öröklésére vagy az alapértelmezett értékre van állítva, a rendszer figyelmen kívül hagyja az egyéb /external beállításokat.

Sablondiagnosztika külső fejlécekben

Megadja, hogy a figyelmeztetési szint kiértékelése egy sablon példányosítási láncában történik-e. Állítsa ezt a tulajdonságot Igen értékre a /external:templates- fordító beállításának beállításához.

Külső fejlécek kódelemzésének letiltása

Letiltja a külső fejlécek kódelemzését. Beállítja a /analyze:external- fordítóbeállítást.

Elemzési szabálykészlet külső fejlécekhez

A külső fejlécek kódelemzési szabálykészletének felülbírálását adja meg. Ha nincs megadva, a kódelemzési beállítást használja a rendszer. Beállítja a /analyze:external:ruleset path fordítóbeállítást.

C/C++ speciális tulajdonságok

Hívási konvenció

Válassza ki az alkalmazás alapértelmezett hívási konvencióját (függvénytől függetlenül felülírható). Készletek /Gd, /Gr, /Gz/Gv.

Választás

  • __cdecl – Meghatározza az összes függvény hívási konvencióját a C++ tagfüggvények és a __stdcall vagy __fastcall jelölt függvények kivételével.
  • __fastcall az összes függvény hívási konvencióját adja meg, kivéve a C++ tagfüggvényeket és azokat a függvényeket, amelyek a __cdecl vagy a __stdcall jelzéssel vannak ellátva. Minden __fastcall függvénynek prototípusokkal kell rendelkeznie.
  • __stdcall– Meghatározza az összes függvény hívási konvencióját, kivéve a __stdcall C++ tagfüggvényeket és azokat a függvényeket, amelyek __cdecl vagy __fastcall-ként vannak megjelölve. Minden __stdcall függvénynek prototípusokkal kell rendelkeznie.
  • __vectorcall– A C++ tagfüggvények és a megjelölt __vectorcallfüggvények __cdecl kivételével az összes függvény hívási konvencióját határozza meg. __fastcall__stdcall Minden __vectorcall függvénynek prototípusokkal kell rendelkeznie.

Fordítás másként

Válassza a forrásfájlok fordítási nyelvének beállítását. Opciók beállítása:/TC, /TP, /interface, /internalPartition, vagy /exportHeader.

Választás

  • Alapértelmezett – Alapértelmezett.
  • Fordítás C-kódként (/TC) – A megadott forrásfájlok fordítása C-kódként. A bővítményt .c tartalmazó fájlok alapértelmezés szerint C-ként vannak lefordítva.
  • Fordítás C++ kódként (/TP) – A megadott forrásfájlok fordítása C++ kódként. Alapértelmezés szerint az összes olyan forrásfájl, amely nem rendelkezik .c, .ixx, , .cppmvagy .hnincs bővítmény, C++-ként lesz lefordítva.
  • Fordítás C++ modulkódként (/interface) – A megadott forrásfájlok fordítása C++ modulkódként. Alapértelmezés szerint a `.ixx` vagy `.cppm` kiterjesztésű fájlok C++ modulkódként kerülnek fordításra.
  • Fordítás C++ modul belső partícióként (/internalPartition) – A megadott forrásfájlok fordítása C++ modul belső partícióként.
  • Fordítás C++ fejlécegységként (/exportHeader) – A megadott forrásfájlok fordítása C++ fejlécegységként. Alapértelmezés szerint a .h kiterjesztéssel vagy kiterjesztés nélküli fájlok fejléc egységekként vannak lefordítva.

Adott figyelmeztetések letiltása

Tiltsa le a megadott figyelmeztető számokat. Helyezze a figyelmeztető számokat egy pontosvesszővel tagolt listába. Beállítja a/wd<számot>.

Kényszerített include fájl

egy vagy több kényszerített belefoglalási fájl. Beállítja a /FI<nevet>.

Kényszerített "#using" fájl

Egy vagy több kényszerített #using fájlt határoz meg. Beállítja /FU< a nevet>.

Beleértendők megjelenítése

Létrehoz egy listát a belefoglalt fájlokról a fordító kimenetével. Beállítja a elemet /showIncludes.

Teljes elérési utak használata

Használjon teljes elérési utat a diagnosztikai üzenetekben. Beállítja a elemet /FC.

Alapértelmezett könyvtárnév kihagyása

Nem tartalmazza az alapértelmezett kódtárneveket a fájlokban .obj . Beállítja a elemet /Zl.

Belső fordító hibajelentése

Megjegyzés:

Ez a beállítás elavult. A Windows Vista rendszertől kezdve a hibajelentést a Windows hibajelentési (WER) beállításai vezérlik.

Adott figyelmeztetések tétele hibákká

Az adott fordító figyelmeztetését olyan hibaként kezeli, amelyben az n fordítói figyelmeztetés.

További beállítások

További lehetőségek.