Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
/Zc A fordító beállításaival szabványos vagy Microsoft-specifikus fordítói viselkedést adhat meg.
Szemantika
/Zc:option{,option ...}
Egyetlen fordítóbeállításban /Zc vesszővel elválasztva több /Zc beállítást is megadhat. Ha egy /Zc beállítás engedélyezve van és le van tiltva ugyanabban a parancsban, a rendszer az utolsóként megjelenő beállítást használja.
Megjegyzések
Ha a Visual Studio olyan C vagy C++ kiterjesztést implementált, amely nem kompatibilis a szabványsal, a szabványnak megfelelő vagy a Microsoft-specifikus viselkedés megadásához használhat megfelelőségi /Zc beállítást. Bizonyos beállítások esetében a Microsoft-specifikus viselkedés az alapértelmezett, amely megakadályozza a meglévő kód nagy léptékű kompatibilitástörő módosításait. Más esetekben az alapértelmezett a szokásos viselkedés, ahol a biztonság, a teljesítmény vagy a kompatibilitás javítása meghaladja a kompatibilitástörő változások költségeit. Az egyes megfelelőségi beállítások alapértelmezett beállítása a Visual Studio újabb verzióiban változhat. Az egyes megfelelőségi lehetőségekről további információt az adott beállításról szóló cikkben talál. A /permissive- fordítási beállítás implicit módon beállítja az alapértelmezés szerint nem beállított megfelelőségi beállításokat a megfelelő beállításokra.
A fordító beállításai a /Zc következők:
| Lehetőség | Magatartás |
|---|---|
/Zc:__cplusplus[-] |
Engedélyezze a makró számára __cplusplus a támogatott szabvány jelentésének engedélyezését. Alapértelmezés szerint ki van kapcsolva. |
/Zc:__STDC__ |
A makró engedélyezése a __STDC__ C szabvány jelentéséhez támogatott. Alapértelmezés szerint ki van kapcsolva. |
/Zc:alignedNew[-] |
Engedélyezze a C++17 túl igazított dinamikus lefoglalást. Alapértelmezés szerint ki van kapcsolva, hacsak nincs /std:c++17 megadva újabb vagy újabb. |
/Zc:auto[-] |
Az új Standard C++ jelentés kényszerítése a következőhöz auto: . Alapértelmezés szerint be van kapcsolva. |
/Zc:char8_t[-] |
Engedélyezze vagy tiltsa le a C++20 natív konstans u8 támogatását.const char8_t Alapértelmezés szerint ki van kapcsolva, hacsak nincs /std:c++20 megadva újabb vagy újabb. |
/Zc:checkGwOdr[-] |
Standard C++ ODR-szabálysértések kényszerítése a (z /Gw) . |
/Zc:enumTypes[-] |
Engedélyezze a standard C++ szabályokat a típuslevonáshoz enum . Alapértelmezés szerint ki van kapcsolva. |
/Zc:externC[-] |
Standard C++ szabályok kényszerítése függvényekhez extern "C" . Alapértelmezés szerint ki van kapcsolva, hacsak nincs /permissive- megadva. |
/Zc:externConstexpr[-] |
Külső csatolás engedélyezése változókhoz constexpr . Alapértelmezés szerint ki van kapcsolva, hacsak nincs /permissive- megadva. |
/Zc:forScope[-] |
Standard C++ for hatókörkezelési szabályok kényszerítése. Alapértelmezés szerint be van kapcsolva. |
/Zc:gotoScope[-] |
Standard C++ goto szabályok kényszerítése a helyi változó inicializálása körül. Alapértelmezés szerint ki van kapcsolva, hacsak nincs /permissive- megadva. |
/Zc:hiddenFriend[-] |
Standard C++ rejtett barátszabályok kényszerítése. Alapértelmezés szerint ki van kapcsolva, hacsak nincs /permissive- megadva. |
/Zc:implicitNoexcept[-] |
noexcept Implicit engedélyezése a szükséges függvényeken. Alapértelmezés szerint be van kapcsolva. |
/Zc:inline[-] |
Távolítsa el a nem hivatkozott függvényeket vagy adatokat, ha COMDAT vagy csak belső kapcsolat van bennük. Alapértelmezés szerint ki van kapcsolva. |
/Zc:lambda[-] |
Engedélyezze az új lambda processzort a konformitásmódú szintaktikai ellenőrzésekhez az általános lambdákban. Alapértelmezés szerint ki van kapcsolva, kivéve, ha /permissive- vagy /std:c++20 később van megadva. |
/Zc:noexceptTypes[-] |
C++17 noexcept szabályok kényszerítése. Alapértelmezés szerint ki van kapcsolva, hacsak nincs /std:c++17 megadva újabb vagy újabb. |
/Zc:nrvo[-] |
Engedélyezze az opcionális másolást és az elisions áthelyezését. Alapértelmezés szerint ki van kapcsolva, hacsak nincs /O2megadva , /permissive-vagy /std:c++20 újabb. |
/Zc:preprocessor[-] |
Használja az új megfelelő előfeldolgozót. Alapértelmezés szerint ki van kapcsolva, hacsak nincs /std:c11 megadva újabb vagy újabb. |
/Zc:referenceBinding[-] |
Az UDT-ideiglenesek nem kötnek nem konconst lvalue referenciához. Alapértelmezés szerint ki van kapcsolva, hacsak nincs /permissive- megadva. |
/Zc:rvalueCast[-] |
Standard C++ explicit típusú konverziós szabályok kényszerítése. Alapértelmezés szerint ki van kapcsolva, hacsak nincs /permissive- megadva. |
/Zc:sizedDealloc[-] |
Engedélyezze a C++14 globális méretű felszabadítási függvényeket. Alapértelmezés szerint be van kapcsolva. |
/Zc:strictStrings[-] |
Sztringkonstans letiltása vagy char*wchar_t* konvertálása. Alapértelmezés szerint ki van kapcsolva, hacsak nincs /permissive- megadva. |
/Zc:static_assert[-] |
szigorú kezelése static_assert. Alapértelmezés szerint ki van kapcsolva, hacsak nincs /permissive- megadva. |
/Zc:templateScope[-] |
Standard C++ sablonparaméter árnyékolási szabályainak kényszerítése. Alapértelmezés szerint ki van kapcsolva. |
/Zc:ternary[-] |
Feltételes operátorszabályok kényszerítése operandustípusokra. Alapértelmezés szerint ki van kapcsolva, hacsak nincs /permissive- megadva. |
/Zc:threadSafeInit[-] |
Engedélyezze a szálbiztos helyi statikus inicializálást. Alapértelmezés szerint be van kapcsolva. |
/Zc:throwingNew[-] |
Tegyük fel, hogy operator new hiba történt. Alapértelmezés szerint ki van kapcsolva. |
/Zc:tlsGuards[-] |
Futásidejű ellenőrzések létrehozása a TLS-változó inicializálásához. Alapértelmezés szerint be van kapcsolva. |
/Zc:trigraphs[-] |
Trigráfok engedélyezése (elavult, alapértelmezés szerint kikapcsolva). |
/Zc:twoPhase- |
Használjon nem konformáló sablonelemzési viselkedést (csak akkor, ha /permissive- meg van adva, és ez az alapértelmezett beállítás). |
/Zc:wchar_t[-] |
wchar_t natív típus, nem típusdef. Alapértelmezés szerint be van kapcsolva. |
/Zc:zeroSizeArrayNew[-] |
new
/
delete 0 méretű objektumtömbök hívása tagként. Alapértelmezés szerint be van kapcsolva. |
Az MSVC megfelelőségi problémáival kapcsolatos további információkért lásd: Nem megfelelő viselkedés.
Lásd még
MSVC-fordító beállításai
MSVC-fordító parancssori szintaxisa