Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
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