/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
Bình luận