zc

/Zc (Konformität)

Sie können die /Zc Compileroptionen verwenden, um standard- oder Microsoft-spezifisches Compilerverhalten anzugeben.

Bạn đang xem: zc

Syntax

/Zc:option{,option ...}

Sie können mehrere /Zc Optionen durch Kommas getrennt in einer einzelnen /Zc Compileroption festlegen. Wenn eine /Zc Option yên ổn selben Befehl aktiviert und deaktiviert ist, wird die Option verwendet, die zuletzt angezeigt wird.

Wenn Visual Studio eine Erweiterung für C oder C++ implementiert hat, die mit dem Standard nicht kompatibel ist, können Sie eine /Zc Konformitätsoption verwenden, um standardkonformes oder Microsoft-spezifisches Verhalten anzugeben. Bei einigen Optionen ist das Microsoft-spezifische Verhalten die Standardeinstellung, um umfangreiche Breaking Changes am vorhandenen Code zu verhindern. In anderen Fällen ist der Standardwert das Standardverhalten, bei dem Verbesserungen in Bezug auf Sicherheit, Leistung oder Kompatibilität die Kosten für breaking Changes überwiegen. Die Standardeinstellung jeder Konformitätsoption kann sich in neueren Versionen von Visual Studio ändern. Weitere Informationen zu den einzelnen Konformitätsoptionen finden Sie yên ổn Artikel zur spezifischen Option. Die /permissive- Compileroption legt implizit die Konformitätsoptionen fest, die nicht standardmäßig auf ihre konformen Einstellungen festgelegt sind.

Xem thêm: h2s cl2

Hier sind die /Zc Compileroptionen:

Option Verhalten
/Zc:__cplusplus Aktivieren Sie das __cplusplus Makro, um den unterstützten Standard zu melden (standardmäßig deaktiviert).
/Zc:__STDC__ Aktivieren Sie das __STDC__ Makro, um zu melden, dass der C-Standard unterstützt wird (standardmäßig deaktiviert).
/Zc:alignedNew Aktivieren Sie die überbündete dynamische Zuordnung von C++17 (standardmäßig in C++17 aktiviert).
/Zc:auto Erzwingen Sie die neue C++-Standard-Bedeutung für auto (standardmäßig ein).
/Zc:char8_t Aktivieren oder deaktivieren Sie die native u8 C++20-Literalunterstützung als const char8_t (standardmäßig deaktiviert, außer unter /std:c++20).
/Zc:enumTypes[-] Aktivieren Sie C++-Standardregeln für enum den Typabzug (standardmäßig deaktiviert).
/Zc:externC Erzwingen von C++-Standardregeln für extern "C" Funktionen (impliziert durch /permissive-).
/Zc:externConstexpr Aktivieren Sie externe Verknüpfungen für constexpr Variablen (standardmäßig deaktiviert).
/Zc:forScope Erzwingen von C++- for Standardbereichsregeln (standardmäßig ein).
/Zc:gotoScope Erzwingen von C++- goto Standardregeln für die Initialisierung lokaler Variablen (impliziert durch /permissive-).
/Zc:hiddenFriend Erzwingen von Standard-C++-Regeln für ausgeblendete Freunde (impliziert durch /permissive-)
/Zc:implicitNoexcept Aktivieren Sie implizit für noexcept erforderliche Funktionen (standardmäßig ein).
/Zc:inline Entfernen Sie nicht referenzierte Funktionen oder Daten, wenn sie COMDAT sind oder nur über interne Verknüpfungen verfügen (standardmäßig deaktiviert).
/Zc:lambda Aktivieren Sie den neuen Lambdaprozessor für syntaktische Überprüfungen yên ổn Konformitätsmodus in generischen Lambdas.
/Zc:noexceptTypes Erzwingen Sie C++17-Regeln noexcept (standardmäßig in C++17 oder höher).
/Zc:nrvo[-] Aktivieren Sie optional Das Kopieren und Verschieben von Elisionen (standardmäßig unter /O2, /permissive-oder /std:c++20 höher).
/Zc:preprocessor Verwenden Sie den neuen konformen Präprozessor (standardmäßig deaktiviert, außer in C11/C17).
/Zc:referenceBinding Ein temporärer UDT-Wert bindet nicht an einen nicht const lvalue-Verweis (standardmäßig deaktiviert).
/Zc:rvalueCast Erzwingen Sie explizite C++-Standardkonvertierungsregeln (standardmäßig deaktiviert).
/Zc:sizedDealloc Aktivieren Sie globale Deallocation-Funktionen in C++14 (standardmäßig aktiviert).
/Zc:strictStrings Deaktivieren Sie Zeichenfolgenliteral in char* oder wchar_t* Konvertierung (standardmäßig deaktiviert).
/Zc:static_assert strikter Umgang mit static_assert (impliziert durch /permissive-).
/Zc:templateScope[-] Erzwingen von Standard-C++-Vorlagenparameter-Schattenregeln (standardmäßig deaktiviert).
/Zc:ternary Erzwingen von Bedingten Operatorregeln für Operandentypen (standardmäßig deaktiviert).
/Zc:threadSafeInit Aktivieren Sie threadsichere lokale statische Initialisierung (standardmäßig ein).
/Zc:throwingNew Gehen Sie davon aus, dass operator new Fehler ausgelöst werden (standardmäßig deaktiviert).
/Zc:tlsGuards[-] Generieren sie Laufzeitüberprüfungen für die TLS-Variableninitialisierung (standardmäßig ein).
/Zc:trigraphs Aktivieren Sie Trigraphen (veraltet, standardmäßig deaktiviert).
/Zc:twoPhase Verwenden Sie ein nicht konformes Vorlagenanalyseverhalten (standardmäßig konform).
/Zc:wchar_t wchar_t ist ein nativer Typ, kein Typ (standardmäßig ein).
/Zc:zeroSizeArrayNew[-] Rufen Sie thành viên new/delete für Arrays mit Objekten der Größe 0 auf (standardmäßig ein).

Weitere Informationen zu Konformitätsproblemen in MSVC finden Sie unter Nicht standardmäßiges Verhalten.

Siehe auch

MSVC-Compileroptionen
Befehlszeilensyntax des MSVC-Compilers

Xem thêm: s+ hno3