Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Använd kompilatoralternativen /Zc för att ange standard- eller Microsoft-specifikt kompilatorbeteende.
Syntax
/Zc:option{,option ...}
Du kan ange flera /Zc alternativ avgränsade med kommatecken i ett enda /Zc kompilatoralternativ. Om ett /Zc alternativ är aktiverat och inaktiverat i samma kommando används det alternativ som visas sist.
Anmärkningar
När Visual Studio har implementerat ett tillägg till C eller C++ som är inkompatibelt med standarden kan du använda ett /Zc överensstämmelsealternativ för att ange standard- eller Microsoft-specifikt beteende. För vissa alternativ är Det Microsoft-specifika beteendet standard för att förhindra storskaliga icke-bakåtkompatibla ändringar i befintlig kod. I andra fall är standardinställningen standardbeteendet, där förbättringar av säkerhet, prestanda eller kompatibilitet uppväger kostnaderna för icke-bakåtkompatibla ändringar. Standardinställningen för varje överensstämmelsealternativ kan ändras i nyare versioner av Visual Studio. Mer information om varje överensstämmelsealternativ finns i artikeln om det specifika alternativet. Kompileringsalternativet /permissive- anger implicit de kompatibilitetsalternativ som inte anges som standard till deras kompatibilitetsinställningar.
Här är kompilatoralternativen /Zc :
| Option | Beteende |
|---|---|
/Zc:__cplusplus[-] |
Aktivera makrot __cplusplus för att rapportera den standard som stöds. Av som standard. |
/Zc:__STDC__ |
Aktivera makrot __STDC__ för att rapportera att C-standarden stöds. Av som standard. |
/Zc:alignedNew[-] |
Aktivera överjusterad dynamisk allokering med C++17. Inaktivera som standard om inte /std:c++17 eller senare har angetts. |
/Zc:auto[-] |
Framtvinga den nya standard-C++-innebörden för auto. På som standard. |
/Zc:char8_t[-] |
Aktivera eller inaktivera inbyggt u8 stöd för C++20-literaler som const char8_t. Inaktivera som standard om inte /std:c++20 eller senare har angetts. |
/Zc:checkGwOdr[-] |
Framtvinga Standard C++ ODR-överträdelser under /Gw. |
/Zc:enumTypes[-] |
Aktivera C++-standardregler för enum typavdrag. Av som standard. |
/Zc:externC[-] |
Framtvinga C++-standardregler för extern "C" funktioner. Inaktivera som standard om inte /permissive- anges. |
/Zc:externConstexpr[-] |
Aktivera extern länkning för constexpr variabler. Av som standard. |
/Zc:forScope[-] |
Framtvinga omfångsregler för Standard C++ for . På som standard. |
/Zc:gotoScope[-] |
Framtvinga C++ goto -standardregler kring initiering av lokala variabler. Inaktivera som standard om inte /permissive- anges. |
/Zc:hiddenFriend[-] |
Framtvinga standardregler för C++-dolda vänner. Inaktivera som standard om inte /permissive- anges. |
/Zc:implicitNoexcept[-] |
Aktivera implicita noexcept funktioner som krävs. På som standard. |
/Zc:inline[-] |
Ta bort orefererade funktioner eller data om de är COMDAT eller endast har intern länkning. Av som standard. |
/Zc:lambda[-] |
Aktivera ny lambda-processor för syntaktiska kontroller i överensstämmelseläge i generiska lambdas. Inaktivera som standard såvida inte /permissive- eller /std:c++20 senare anges. |
/Zc:noexceptTypes[-] |
Framtvinga C++17-regler noexcept . Inaktivera som standard om inte /std:c++17 eller senare har angetts. |
/Zc:nrvo[-] |
Aktivera valfri kopiering och flytta elisions. Inaktivera som standard om inte /O2, /permissive-eller /std:c++20 senare har angetts. |
/Zc:preprocessor[-] |
Använd den nya förprocessorn. Inaktivera som standard om inte /std:c11 eller senare har angetts. |
/Zc:referenceBinding[-] |
En TILLFÄLLIG UDT binder inte till en referens för icke-konst lvalue. Inaktivera som standard om inte /permissive- anges. |
/Zc:rvalueCast[-] |
Framtvinga explicita konverteringsregler av typen Standard C++. Inaktivera som standard om inte /permissive- anges. |
/Zc:sizedDealloc[-] |
Aktivera frigöringsfunktioner av global storlek för C++14. På som standard. |
/Zc:strictStrings[-] |
Inaktivera strängliteral till char* eller wchar_t* konvertering. Inaktivera som standard om inte /permissive- anges. |
/Zc:static_assert[-] |
strikt hantering av static_assert. Inaktivera som standard om inte /permissive- anges. |
/Zc:templateScope[-] |
Framtvinga skuggningsregler för Standard C++-mallparameter. Av som standard. |
/Zc:ternary[-] |
Framtvinga villkorsstyrda operatorregler för operandtyper. Inaktivera som standard om inte /permissive- anges. |
/Zc:threadSafeInit[-] |
Aktivera trådsäker lokal statisk initiering. På som standard. |
/Zc:throwingNew[-] |
Anta att operator new det uppstår fel. Av som standard. |
/Zc:tlsGuards[-] |
Generera körningskontroller för initiering av TLS-variabler. På som standard. |
/Zc:trigraphs[-] |
Aktivera trigraphs (föråldrad, inaktiverad som standard). |
/Zc:twoPhase- |
Använd icke-konforma mallparsningsbeteende (gäller endast när /permissive- anges, vilket är standard för att överensstämma). |
/Zc:wchar_t[-] |
wchar_t är en intern typ, inte en typedef. På som standard. |
/Zc:zeroSizeArrayNew[-] |
Anropa medlem new/delete för 0-storleksmatriser med objekt. På som standard. |
Mer information om efterlevnadsproblem i MSVC finns i Beteende som inte är standard.
Se även
Alternativ för MSVC-kompilator
Kommandoradssyntax för MSVC-kompilatorn