Opções do compilador listadas em ordem alfabética
Esta tabela contém uma lista alfabética de opções do compilador. Para obter uma lista de opções do compilador por categoria, confira o artigo Opções do compilador listadas por categoria.
Opções do compilador
Opção | Finalidade |
---|---|
@ |
Especifica um arquivo de resposta. |
/? |
Lista as opções do compilador. |
/AI<dir> |
Especifica um diretório de pesquisa para resolver referências de arquivo passadas para a diretiva #using . |
/analyze |
Habilita a análise de código. |
/arch |
Requisitos mínimos de arquitetura da CPU |
/arm64EC |
Gere código compatível com a ABI arm64EC. |
/await |
Habilitar extensões de corrotina (funções retomáveis). |
/await:strict |
Habilite o suporte à corrotina padrão do C++20 com versões de linguagem anteriores. |
/bigobj |
Aumenta o número de seções endereçáveis em um arquivo .obj. |
/C |
Preserva comentários durante o pré-processamento. |
/c |
Compila sem vinculação. |
/cgthreads |
Especifica o número de threads cl.exe a ser usado na otimização e na geração de código. |
/clr |
Produz um arquivo de saída a ser executado no Common Language Runtime. |
/clr:implicitKeepAlive- |
Desativar a emissão implícita de System::GC::KeepAlive(this) . |
/clr:initialAppDomain |
Habilitar o comportamento do AppDomain inicial do Visual C++ 2002. |
/clr:netcore |
Produzir assemblies direcionados ao runtime do .NET Core. |
/clr:noAssembly |
Não produzir um assembly. |
/clr:nostdimport |
Não importar nenhum assembly necessário implicitamente. |
/clr:nostdlib |
Ignorar o diretório do sistema do .NET Framework ao pesquisar por assemblies. |
/clr:pure |
Produzir um arquivo de saída somente IL (sem código executável nativo). |
/clr:safe |
Produzir um arquivo de saída somente IL verificável. |
/constexpr:backtrace<N> |
Mostrar N avaliações de constexpr no diagnóstico (padrão: 10). |
/constexpr:depth<N> |
Limite de profundidade de recursão para avaliação de constexpr (padrão: 512). |
/constexpr:steps<N> |
Terminar a avaliação de constexpr após N etapas (padrão: 100000) |
/D<name>{=|#}<text> |
Define constantes e macros. |
/diagnostics |
Formato de diagnóstico: imprime informações da coluna. |
/diagnostics:caret[-] |
Formato de diagnóstico: imprime a coluna e a linha de origem indicada. |
/diagnostics:classic |
Usar o formato de diagnóstico herdado. |
/doc |
Processa comentários de documentação para um arquivo XML. |
/E |
Copia a saída do pré-processador para a saída padrão. |
/EHa |
Habilitar o tratamento de exceção do C++ (com exceções de SEH). |
/EHc |
extern "C" usa como padrão nothrow . |
/EHr |
Sempre gerar verificações de término de runtime noexcept . |
/EHs |
Habilitar o tratamento de exceções do C++ (sem exceções SEH). |
/EP |
Copia a saída do pré-processador para a saída padrão. |
/errorReport |
Preterido. As configurações do WER (Relatório de Erros do Windows) controlam o relatório de erros. |
/execution-charset |
Definir o conjunto de caracteres de execução. |
/experimental:log |
Permite a saída SARIF estruturada experimental. |
/experimental:module |
Habilitar o suporte a módulo experimental. |
/exportHeader |
Criar os arquivos de unidades de cabeçalho (.ifc ) especificados pelos argumentos de entrada. |
/external:anglebrackets |
Tratar todos os cabeçalhos incluídos por meio de <> como externos. |
/external:env:<var> |
Especifica uma variável de ambiente com locais de cabeçalhos externos. |
/external:I <path> |
Especifica o local dos cabeçalhos externos. |
/external:templates[-] |
Avalia o nível de aviso na cadeia de instanciação do modelo. |
/external:W<n> |
Define o nível de aviso para cabeçalhos externos. |
/F |
Define o tamanho da pilha. |
/FA |
Configura um arquivo de listagem de assembly. |
/Fa |
Cria um arquivo de listagem de assembly. |
/fastfail |
Habilitar o modo de falha rápida. |
/favor:<blend|AMD64|INTEL64|ATOM> |
Produz código otimizado para uma arquitetura específica ou um intervalo de arquiteturas. |
/FC |
Exibe o caminho completo dos arquivos de código-fonte passados para cl.exe no texto de diagnóstico. |
/Fd |
Renomeia o arquivo de banco de dados do programa. |
/Fe |
Renomeia o arquivo executável. |
/feature |
Habilite os recursos de arquitetura.17.10 |
/FI<file> |
Pré-processa o arquivo de inclusão especificado. |
/Fi |
Especifica o nome do arquivo de saída pré-processado. |
/Fm |
Cria um arquivo de mapa. |
/Fo |
Cria um arquivo de objeto. |
/Fp |
Especifica um nome de arquivo de cabeçalho pré-compilado. |
/fp:contract |
Considerar contrações de ponto flutuante ao gerar código. |
/fp:except[-] |
Considerar exceções de ponto flutuante ao gerar código. |
/fp:fast |
Modelo de ponto flutuante "rápido"; os resultados são menos previsíveis. |
/fp:precise |
Modelo de ponto flutuante "preciso"; os resultados são previsíveis. |
/fp:strict |
Modelo de ponto flutuante "estrito" (implica /fp:except ). |
/fpcvt:BC |
Compatibilidade de conversão de ponto flutuante para inteiro sem sinal. |
/fpcvt:IA |
Comportamento de conversão de ponto flutuante nativo Intel em inteiro sem sinal. |
/FR , /Fr |
Arquivos de navegador .sbr gerados por nome. /Fr foi preterido. |
/FS |
Força a serialização de gravações no arquivo PDB por meio de MSPDBSRV.EXE. |
/fsanitize |
Habilita a compilação de instrumentação de limpeza, como AddressSanitizer. |
/fsanitize-coverage |
Habilita a compilação da instrumentação de cobertura de código para bibliotecas como o LibFuzzer. |
/Ft<dir> |
Local dos arquivos de cabeçalho gerados para #import . |
/FU<file> |
Força o uso de um nome de arquivo como se ele tivesse sido passado para a diretiva #using . |
/Fx |
Mescla o código injetado com o arquivo de origem. |
/GA |
Otimiza para aplicativos do Windows. |
/Gd |
Usa a convenção de chamada __cdecl . (apenas x86) |
/Ge |
Preterido. Ativa investigações de pilha. |
/GF |
Habilita pooling de cadeia de caracteres. |
/GH |
Chama a função de gancho _pexit . |
/Gh |
Chama a função de gancho _penter . |
/GL[-] |
Habilita a otimização de todo o programa. |
/Gm[-] |
Preterido. Habilita recompilação mínima. |
/GR[-] |
Habilita RTTI (informações de tipo de tempo de execução). |
/Gr |
Usa a convenção de chamada __fastcall . (apenas x86) |
/GS[-] |
Verifica a segurança do buffer. |
/Gs[n] |
Controla investigações de pilha. |
/GT |
Dá suporte à segurança de fibra para dados alocados usando armazenamento de thread local estático. |
/Gu[-] |
Verificar funções distintas que têm endereços distintos. |
/guard:cf[-] |
Adiciona verificações de segurança de proteção do fluxo de controle. |
/guard:ehcont[-] |
Habilita metadados de continuação do EH. |
/Gv |
Usa a convenção de chamada __vectorcall . (somente x86 e x64) |
/Gw[-] |
Habilita a otimização de dados globais de todo o programa. |
/GX[-] |
Preterido. Habilita o tratamento síncrono de exceções. Use o /EH em vez disso. |
/Gy[-] |
Habilita a vinculação no nível de função. |
/GZ |
Preterido. Habilita as verificações rápidas. (Mesmo que /RTC1 ) |
/Gz |
Usa a convenção de chamada __stdcall . (apenas x86) |
/H |
Preterido. Restringe o tamanho de nomes externos (públicos). |
/headerName |
Compilar uma unidade de cabeçalho com base no cabeçalho especificado. |
/headerUnit |
Especificar onde localizar o arquivo de unidade de cabeçalho (.ifc ) para o cabeçalho especificado. |
/HELP |
Lista as opções do compilador. |
/homeparams |
Força os parâmetros passados em registros a serem gravados em seus locais na pilha mediante a entrada da função. Esta opção do compilador se destina apenas aos compiladores x64 (nativos e de compilação cruzada). |
/hotpatch |
Cria uma imagem capaz de aplicar patches sob demanda. |
/I<dir> |
Pesquisa um diretório para incluir arquivos. |
/ifcOutput |
Especifique o nome do arquivo de saída ou o diretório para arquivos criados .ifc . |
/interface |
Tratar o arquivo de entrada como uma unidade de interface do módulo. |
/internalPartition |
Tratar o arquivo de entrada como uma unidade de partição interna. |
/J |
Altera o tipo char padrão. |
/jumptablerdata |
Coloque as .rdata tabelas de salto da instrução switch case na seção. |
/JMC |
Dá suporte à depuração nativa do Apenas Meu Código do C++. |
/kernel |
O compilador e o vinculador criam um binário que pode ser executado no kernel do Windows. |
/LD |
Cria uma biblioteca de vínculo dinâmico. |
/LDd |
Cria uma biblioteca de vínculo dinâmico de depuração. |
/link |
Passa a opção especificada para LINK. |
/LN |
Cria um MSIL .netmodule . |
/MD |
Compila para criar uma DLL com multithread usando MSVCRT.lib. |
/MDd |
Compila para criar DLL com multithread de depuração usando MSVCRTD.lib. |
/MP |
Cria vários arquivos de origem ao mesmo tempo. |
/MT |
Compila para criar um arquivo executável com multithread usando LIBCMT.lib. |
/MTd |
Compila para criar um arquivo executável com multithread de depuração usando LIBCMTD.lib. |
/nologo |
Suprime a exibição da faixa de logon. |
/O1 |
Cria um código pequeno. |
/O2 |
Cria um código rápido. |
/Ob<n> |
Controla a expansão embutida. |
/Od |
Desabilita a otimização. |
/Og |
Preterido. Usa otimizações globais. |
/Oi[-] |
Gera funções intrínsecas. |
/openmp |
Habilita #pragma omp no código-fonte. |
/openmp:experimental |
Habilitar extensões de linguagem OpenMP 2.0 e selecionar extensões de linguagem OpenMP 3.0 e posteriores. |
/openmp:llvm |
Extensões de linguagem OpenMP usando o runtime LLVM. |
/options:strict |
Opções do compilador não reconhecidas são erros. |
/Os |
Favorece código pequeno. |
/Ot |
Favorece código rápido. |
/Ox |
Um subconjunto de /O2 que não inclui /GF ou /Gy. |
/Oy |
Omita o ponteiro do quadro. (apenas x86) |
/P |
Grava a saída do pré-processador em um arquivo. |
/PD |
Imprimir todas as definições de macro. |
/permissive[-] |
Definir o modo de conformidade padrão. |
/PH |
Gerar #pragma file_hash durante o pré-processamento. |
/presetPadding |
Inicializar em zero o preenchimento para tipos de classe baseados em pilha. |
/Qfast_transcendentals |
Gera transcendentais rápidos. |
/QIfist |
Preterido. Suprime a chamada da função auxiliar _ftol quando é necessária uma conversão de um tipo de ponto flutuante para um tipo integral. (apenas x86) |
/Qimprecise_fwaits |
Remove comandos fwait dentro de blocos try . |
/QIntel-jcc-erratum |
Atenua o impacto no desempenho da atualização de microcódigo da errata do Intel JCC. |
/Qpar-report:<n> |
Habilita os níveis de relatório para paralelização automática. |
/Qpar |
Habilita a paralelização automática de loops. |
/Qsafe_fp_loads |
Usa instruções de movimento de inteiro para valores de ponto flutuante e desabilita determinadas otimizações de carregamento de ponto flutuante. |
/Qspectre[-] |
Habilitar mitigações para CVE 2017-5753, para uma classe de ataques Spectre. |
/Qspectre-load |
Gerar instruções de serialização para cada instrução de carga. |
/Qspectre-load-cf |
Gerar instruções de serialização para cada instrução de fluxo de controle que carrega memória. |
/Qvec-report:<n> |
Habilita níveis de relatório para vetorização automática. |
/reference |
Use o módulo IFC nomeado. |
/RTC1 |
Habilitar verificações de runtime rápido (equivalente a /RTCsu ). |
/RTCc |
Converter em verificações de tipo menores em tempo de execução. |
/RTCs |
Habilitar verificações de runtime do registro de ativação. |
/RTCu |
Habilita verificações de uso local não inicializado. |
/scanDependencies |
Listar dependências de módulo no formulário JSON Padrão C++. |
/sdl |
Habilitar mais recursos de segurança e avisos. |
/showIncludes |
Exibe uma lista de todos os arquivos de inclusão durante a compilação. |
/source-charset |
Definir conjunto de caracteres de origem. |
/sourceDependencies |
Listar todas as dependências de nível de origem. |
/sourceDependencies:directives |
Listar dependências de unidade de módulo e cabeçalho. |
/std:c++14 |
C++14 ISO/IEC padrão 14882:2014 (padrão). |
/std:c++17 |
C++17 ISO/IEC padrão 14882:2017. |
/std:c++20 |
C++20 ISO/IEC padrão 14882:2020. |
/std:c++latest |
As versões prévias do recurso padrão do C++ mais recentes. |
/std:c11 |
C11 ISO/IEC padrão 9899:2011. |
/std:c17 |
C17 ISO/IEC padrão 9899:2018. |
/std:clatest |
Os recursos de visualização padrão C de rascunho mais recentes. |
/TC |
Especifica que todos os arquivos de origem são C. |
/Tc |
Especifica um arquivo de origem do C. |
/TP |
Especifica que todos os arquivos de origem são C++. |
/Tp |
Especifica um arquivo de origem do C++. |
/translateInclude |
Tratar #include como import . |
/U<name> |
Remove uma macro predefinida. |
/u |
Remove todas as macros predefinidas. |
/utf-8 |
Define conjunto de caracteres de origem e execução como UTF-8. |
/V |
Preterido. Define a cadeia de caracteres da versão. |
/validate-charset |
Validar arquivos UTF-8 somente para caracteres compatíveis. |
/vd{0|1|2} |
Suprime ou habilita membros da classe vtordisp ocultos. |
/vlen |
Especifica o comprimento do vetor. |
/vmb |
Usa a melhor base de ponteiros para membros. |
/vmg |
Usa a generalidade completa de ponteiros para membros. |
/vmm |
Declara a herança múltipla. |
/vms |
Declara a herança única. |
/vmv |
Declara a herança virtual. |
/volatile:iso |
Semântica de aquisição/liberação não garantida em acessos voláteis. |
/volatile:ms |
Semântica de aquisição/liberação garantida em acessos voláteis. |
/volatileMetadata |
Gerar metadados em acessos de memória volátil. |
/w |
Desabilitar todos os avisos. |
/W0 , /W1 , /W2 , /W3 , /W4 |
Define o nível de aviso de saída. |
/w1<n> , /w2<n> , /w3<n> , /w4<n> |
Define o nível de aviso para o aviso especificado. |
/Wall |
Habilita todos os avisos, inclusive avisos desabilitados por padrão. |
/wd<n> |
Desabilita o aviso especificado. |
/we<n> |
Trata o aviso especificado como um erro. |
/WL |
Habilita o diagnóstico em uma linha para mensagens de erro e aviso durante a compilação do código-fonte do C++ da linha de comando. |
/wo<n> |
Exibe o aviso especificado apenas uma vez. |
/Wv:xx[.yy[.zzzzz]] |
Desabilita os avisos introduzidos após a versão especificada do compilador. |
/WX |
Tratar avisos como erros. |
/X |
Ignora o diretório de inclusão padrão. |
/Y- |
Ignora todas as outras opções de compilador do cabeçalho pré-compilado na compilação atual. |
/Yc |
Criar arquivo .PCH . |
/Yd |
Preterido. Coloca informações de depuração completas em todos os arquivos de objeto. Use o /Zi em vez disso. |
/Yl |
Injeta uma referência PCH durante a criação de uma biblioteca de depuração. |
/Yu |
Usa um arquivo de cabeçalho pré-compilado durante a compilação. |
/Z7 |
Gera informações de depuração compatíveis com C 7.0. |
/Za |
Desabilita algumas extensões de linguagem C89 no código C. |
/Zc:__cplusplus[-] |
Habilitar a macro __cplusplus para relatar o padrão com suporte (desativada por padrão). |
/Zc:__STDC__ |
Ative a __STDC__ macro para relatar que o padrão C é suportado (desativado por padrão). |
/Zc:alignedNew[-] |
Habilitar a alocação dinâmica de alinhamento excessivo do C++17 (ativada por padrão no C++17). |
/Zc:auto[-] |
Aplicar o novo significado do Padrão C++ para auto (ativada por padrão). |
/Zc:char8_t[-] |
Habilitar ou desabilitar o suporte literal nativo u8 do C++20 como const char8_t (desativada por padrão, exceto em /std:c++20 ). |
/Zc:enumTypes[-] |
Habilite regras C++ padrão para enum dedução de tipo (desativada por padrão). |
/Zc:externC[-] |
Aplicar regras Padrão C++ para funções extern "C" (implícitas para /permissive- ). |
/Zc:externConstexpr[-] |
Habilitar o vínculo externo para variáveis constexpr (desativada por padrão). |
/Zc:forScope[-] |
Aplicar regras de escopo for Padrão do C++ (ativadas por padrão). |
/Zc:gotoScope |
Impor regras padrão do C++ goto em torno da inicialização de variável local (implícita por /permissive- ). |
/Zc:hiddenFriend[-] |
Aplicar regras de amigo oculto padrão do C++ (implícitas por /permissive- ) |
/Zc:implicitNoexcept[-] |
Habilitar noexcept implícito em funções necessárias (ativada por padrão). |
/Zc:inline[-] |
Remover funções ou dados não referenciados se forem COMDAT ou tiverem apenas vínculo interno (desativada por padrão). |
/Zc:lambda[-] |
Habilitar o novo processador lambda para verificações sintáticas no modo de conformidade em lambdas genéricos. |
/Zc:noexceptTypes[-] |
Aplicar regras noexcept do C++17 (ativadas por padrão no C++17 ou posterior). |
/Zc:nrvo[-] |
Ative as elisões opcionais de copiar e mover (ativado por padrão em /O2 , /permissive- ou /std:c++20 ou posterior). |
/Zc:preprocessor[-] |
Usar o novo pré-processador em conformidade (desativada por padrão, exceto no C11/C17). |
/Zc:referenceBinding[-] |
Um UDT temporário não será associado a uma referência lvalue não constante (desativada por padrão). |
/Zc:rvalueCast[-] |
Aplicar regras de conversão de tipo explícita padrão do C++ (desativada por padrão). |
/Zc:sizedDealloc[-] |
Habilitar funções de desalocação de tamanho global do C++14 (ativada por padrão). |
/Zc:strictStrings[-] |
Desabilitar o literal de cadeia de caracteres para conversão char* ou wchar_t* (desativada por padrão). |
/Zc:templateScope[-] |
Impor regras de sombreamento de parâmetro de modelo C++ padrão (desativadas por padrão). |
/Zc:ternary[-] |
Aplicar regras de operador condicional em tipos operando (desativada por padrão). |
/Zc:threadSafeInit[-] |
Habilitar a inicialização estática local thread-safe (ativada por padrão). |
/Zc:throwingNew[-] |
Supor que operator new gere no caso de falha (desativada por padrão). |
/Zc:tlsGuards[-] |
Gerar verificações de runtime para a inicialização da variável TLS (ativado por padrão). |
/Zc:trigraphs |
Habilitar trígrafos (obsoleta, desativada por padrão). |
/Zc:twoPhase[-] |
Use o comportamento de análise de modelo não conforme (em conformidade por padrão). |
/Zc:wchar_t[-] |
wchar_t é um tipo nativo, não um typedef (ativada por padrão). |
/Zc:zeroSizeArrayNew[-] |
Membro new /delete de chamada para matrizes de objetos de tamanho zero (ativado por padrão). |
/Ze |
Preterido. Habilita extensões de linguagem C89. |
/Zf |
Melhora o tempo de geração do PDB em builds paralelos. |
/ZH:[MD5|SHA1|SHA_256] |
Especifica MD5, SHA-1 ou SHA-256 para somas de verificação em informações de depuração. |
/ZI |
Inclui informações de depuração em um banco de dados do programa compatível com Editar e Continuar. (apenas x86) |
/Zi |
Gera informações completas de depuração. |
/Zl |
Remove o nome da biblioteca padrão do arquivo .obj . |
/Zm |
Especifica o limite de alocação da memória do cabeçalho pré-compilado. |
/Zo[-] |
Gerar informações de depuração mais avançadas para o código otimizado. |
/Zp[n] |
Empacota membros da estrutura. |
/Zs |
Verifica apenas a sintaxe. |
/ZW |
Produz um arquivo de saída a ser executado no Windows Runtime. |
17.10 Essa opção está disponível a partir do Visual Studio 2022 versão 17.10.
Confira também
Opções do compilador MSVC
Sintaxe da linha de comando do compilador MSVC