Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Use as opções do compilador para especificar o comportamento padrão ou específico do /Zc compilador da Microsoft.
Sintaxe
/Zc:opção{,opção ...}
Você pode definir várias /Zc opções separadas por vírgulas em uma única /Zc opção de compilador. Se uma /Zc opção estiver habilitada e desabilitada no mesmo comando, a opção que aparece por último será usada.
Observações
Quando o Visual Studio implementou uma extensão para C ou C++ que é incompatível com o padrão, você pode usar uma /Zc opção de conformidade para especificar o comportamento em conformidade com o padrão ou específico da Microsoft. Para algumas opções, o comportamento específico da Microsoft é o padrão, para evitar alterações de quebra em grande escala no código existente. Em outros casos, o padrão é o comportamento padrão, onde as melhorias na segurança, desempenho ou compatibilidade superam os custos de quebrar alterações. A configuração padrão de cada opção de conformidade pode ser alterada em versões mais recentes do Visual Studio. Para obter mais informações sobre cada opção de conformidade, consulte o artigo para a opção específica. A /permissive- opção do compilador define implicitamente as opções de conformidade que não são definidas por padrão para suas configurações de conformidade.
Aqui estão as opções do /Zc compilador:
| Opção | Comportamento |
|---|---|
/Zc:__cplusplus[-] |
Habilite a __cplusplus macro para relatar o padrão suportado. Desativado por padrão. |
/Zc:__STDC__ |
Permitir que a __STDC__ macro relate o padrão C é suportado. Desativado por padrão. |
/Zc:alignedNew[-] |
Habilite a alocação dinâmica sobrealinhada do C++17. Desativado por padrão, a menos que /std:c++17 ou mais tarde seja especificado. |
/Zc:auto[-] |
Imponha o novo significado de C++ padrão para auto. Ativada por predefinição. |
/Zc:char8_t[-] |
Habilite ou desabilite o suporte literal nativo do u8 C++20 como const char8_t. Desativado por padrão, a menos que /std:c++20 ou mais tarde seja especificado. |
/Zc:checkGwOdr[-] |
Aplique violações de ODR C++ padrão em /Gw. |
/Zc:enumTypes[-] |
Habilite regras C++ padrão para enum dedução de tipo. Desativado por padrão. |
/Zc:externC[-] |
Imponha regras C++ padrão para extern "C" funções. Desativado por padrão, a menos que /permissive- seja especificado. |
/Zc:externConstexpr[-] |
Habilite a vinculação externa para constexpr variáveis. Desativado por padrão. |
/Zc:forScope[-] |
Aplique regras de escopo C++ for padrão. Ativada por predefinição. |
/Zc:gotoScope[-] |
Imponha regras C++ goto padrão em torno da inicialização de variáveis locais. Desativado por padrão, a menos que /permissive- seja especificado. |
/Zc:hiddenFriend[-] |
Imponha regras de amigos ocultos do C++ padrão. Desativado por padrão, a menos que /permissive- seja especificado. |
/Zc:implicitNoexcept[-] |
Habilite noexcept implícito nas funções necessárias. Ativada por predefinição. |
/Zc:inline[-] |
Remova funções ou dados não referenciados se forem COMDAT ou tiverem apenas ligação interna. Desativado por padrão. |
/Zc:lambda[-] |
Habilite o novo processador lambda para verificações sintáticas de modo de conformidade em lambdas genéricos. Desativado por padrão, a menos que /permissive- ou /std:c++20 mais tarde seja especificado. |
/Zc:noexceptTypes[-] |
Aplique regras C++17 noexcept . Desativado por padrão, a menos que /std:c++17 ou mais tarde seja especificado. |
/Zc:nrvo[-] |
Habilite elisões opcionais de cópia e movimento. Desativado por padrão, a menos que /O2, /permissive-ou /std:c++20 posterior seja especificado. |
/Zc:preprocessor[-] |
Use o novo pré-processador em conformidade. Desativado por padrão, a menos que /std:c11 ou mais tarde seja especificado. |
/Zc:referenceBinding[-] |
Um UDT temporário não se ligará a uma referência nonconst lvalue. Desativado por padrão, a menos que /permissive- seja especificado. |
/Zc:rvalueCast[-] |
Imponha regras de conversão de tipo explícito C++ padrão. Desativado por padrão, a menos que /permissive- seja especificado. |
/Zc:sizedDealloc[-] |
Habilite as funções de desalocação de tamanho global do C++14. Ativada por predefinição. |
/Zc:strictStrings[-] |
Desative a cadeia de caracteres literal para char* ou wchar_t* conversão. Desativado por padrão, a menos que /permissive- seja especificado. |
/Zc:static_assert[-] |
tratamento rigoroso de static_assert. Desativado por padrão, a menos que /permissive- seja especificado. |
/Zc:templateScope[-] |
Imponha regras de sombreamento de parâmetros de modelo C++ padrão. Desativado por padrão. |
/Zc:ternary[-] |
Impor regras de operador condicional em tipos de operando. Desativado por padrão, a menos que /permissive- seja especificado. |
/Zc:threadSafeInit[-] |
Habilite a inicialização estática local segura para threads. Ativada por predefinição. |
/Zc:throwingNew[-] |
Suponha operator new que joga no fracasso. Desativado por padrão. |
/Zc:tlsGuards[-] |
Gere verificações de tempo de execução para inicialização de variáveis TLS. Ativada por predefinição. |
/Zc:trigraphs[-] |
Habilite os trigrafos (obsoletos, desativados por padrão). |
/Zc:twoPhase- |
Use o comportamento de análise de modelo não conforme (aplicável apenas quando /permissive- especificado, que assume como padrão a conformidade). |
/Zc:wchar_t[-] |
wchar_t é um tipo nativo, não um typedef. Ativada por predefinição. |
/Zc:zeroSizeArrayNew[-] |
new
/
delete Membro de chamada para matrizes de objetos de tamanho 0. Ativada por predefinição. |
Para obter mais informações sobre problemas de conformidade no MSVC, consulte Comportamento não padrão.
Consulte também
Opções do compilador MSVC
Sintaxe da linha de comando do compilador MSVC