Páginas de propriedades do C/C++
As páginas de propriedades a seguir são encontradas emProjeto>Propriedades>Propriedades de Configuração>C/C++:
Propriedades gerais do C/C++
Diretórios de Inclusão Adicionais
Especifica um ou mais diretórios a serem adicionados ao caminho de inclusão. Se houver mais de um diretório, separe-os com ponto e vírgula (“;
”). Define a opção de compilador /I
(Diretórios de inclusão adicionais).
Diretórios #using adicionais
Especifica um ou mais diretórios a serem pesquisados para resolver nomes passados para uma diretiva #using
. Se houver mais de um diretório, separe-os com ponto e vírgula (“;
”). Define a opção do compilador /AI
.
Diretórios BMI adicionais
Especifica um ou mais diretórios a serem pesquisados para resolver nomes passados para uma diretiva import
. Se houver mais de um diretório, separe-os com ponto e vírgula (“;
”). Define a opção do compilador /ifcSearchDir[path]
.
Dependências de módulo adicionais
Especifica um ou mais módulos a serem usados para resolver nomes passados para uma diretiva import
. Se houver mais de um diretório, separe-os com ponto e vírgula (“;
”). Define a opção do compilador /reference
.
Dependências adicionais da unidade de cabeçalho
Especifica uma ou mais unidades de cabeçalho a serem usadas para resolver nomes passados para uma diretiva de cabeçalho import
. Se houver mais de um diretório, separe-os com ponto e vírgula (“;
”). Define a opção do compilador /headerUnit
.
Examinar as fontes em busca de dependências de módulo
Quando definido como Sim, o compilador examina todas as fontes C++, não apenas as fontes de interface do módulo e unidade de cabeçalho, para dependências de unidades de módulo e cabeçalho. O sistema de compilação compila o grafo de dependências completo, o que garante que todos os módulos e unidades de cabeçalho importados sejam criados antes de compilar os arquivos que dependem deles. Quando combinado com Traduzir inclusões como importações, qualquer arquivo de cabeçalho especificado em um arquivo header-units.json
no mesmo diretório que o arquivo de cabeçalho é compilado em uma unidade de cabeçalho.
Os arquivos que têm a extensão .ixx
e os arquivos que têm suas propriedades>File C/C++Compile As definidas como Compile as C++> Header Unit (/exportHeader) são sempre verificados.
Traduzir inclusões em importações
Quando definido como Sim, o compilador trata uma diretiva #include
como uma diretiva import
se determinadas condições forem atendidas: o arquivo de cabeçalho está especificado em um arquivo header-units.json
no mesmo diretório, e uma unidade de cabeçalho compilada (um arquivo .ifc
) está disponível para o arquivo de cabeçalho. Caso contrário, o arquivo de cabeçalho é tratado como #include
normal. O arquivo header-units.json
é usado para compilar unidades de cabeçalho para cada #include
, sem duplicação de símbolo. Quando combinado com Verificar fontes para dependências de módulo, o compilador localiza automaticamente todos os arquivos de cabeçalho que podem ser compilados em unidades de cabeçalho. Essa propriedade define a opção do compilador /translateInclude
.
Formato de informações de depuração
Especifica o tipo de informações de depuração geradas pelo compilador. Essa propriedade requer configurações de vinculador compatíveis. Define as opções do compilador /Z7
, /Zi
/ZI
(Depurar formato de informações).
Opções
- Nenhum – não produz nenhuma informação de depuração, portanto, a compilação pode ser mais rápida.
- Compatível com C7 – seleciona o tipo de informações de depuração criado para o programa e indica se essas informações são mantidas em arquivos de objeto (.obj) ou em um PDB (banco de dados de programa).
- Banco de dados do programa – produz um PDB (banco de dados de programa) que contém informações de tipo e informações simbólicas de depuração para serem usadas com o depurador. As informações simbólicas de depuração incluem os nomes e tipos de variáveis, funções e números de linha.
- Banco de Dados de Programas para Editar e Continuar - Produz um banco de dados de programa, conforme descrito anteriormente, em um formato que oferece suporte ao recurso Editar e Continuar .
Suporte à depuração Apenas Meu Código
Adiciona um código de suporte para habilitar a depuração Apenas Meu Código nessa unidade de compilação. Define /JMC
.
Suporte a Common Language Runtime
Usa o serviço de runtime do .NET. Essa opção é incompatível com algumas outras opções; confira a documentação na família de opções de /clr
para obter detalhes.
Opções
- Sem suporte a Common Language Runtime – sem suporte a Common Language Runtime
- Suporte a Common Language Runtime – cria metadados para seu aplicativo que podem ser consumidos por outros aplicativos do CLR. Também permite que seu aplicativo consuma tipos e dados nos metadados de outros componentes do CLR.
- Suporte ao Common Language Runtime do MSIL puro – produz um arquivo de saída somente MSIL sem código executável nativo, embora possa conter tipos nativos compilados para MSIL.
- Suporte seguro a Common Language Runtime do MSIL – produz um arquivo de saída somente MSIL (sem código executável nativo) e verificável.
Consumir a extensão do Tempo de Execução do Windows
Consome as extensões de linguagens de Runtime do Windows. Define /ZW
.
Suprimir Faixa de Inicialização
Suprime a exibição da faixa de entrada quando o compilador é iniciado e a exibição de mensagens informativas durante a compilação.
Nível de aviso
Selecione o rigor que você deseja que o compilador aplique aos erros de código. Define /W0
- /W4
.
Opções
- Desativar todos os avisos – o nível 0 desabilita todos os avisos.
- Nível 1 – o Nível 1 exibe avisos graves. O Nível 1 é o nível de aviso padrão na linha de comando.
- Nível 2 – o Nível 2 exibe todos os avisos de gravidade igual ou inferior ao Nível 1.
- Nível 3 – O Nível 3 exibe todos os avisos do Nível 2 e todos os outros avisos recomendados para fins de produção.
- Nível 4 – o Nível 4 exibe todos os avisos de Nível 3 mais avisos informativos, os quais, na maioria dos casos, podem ser ignorados com segurança.
- EnableAllWarnings – habilita todos os avisos, incluindo os que estão desabilitados por padrão.
Tratar avisos como erros
Trata avisos do compilador como erros. Para um novo projeto, talvez seja melhor usar /WX
em todas as compilações. Resolva todos os avisos para minimizar os defeitos de código de difícil localização.
Versão de aviso
Oculta avisos introduzidos após uma versão específica do compilador. Define /Wv:xx[.yy[.zzzzz]]
.
Formato de diagnóstico
Habilita o diagnóstico avançado, com informações de coluna e contexto de origem em mensagens de diagnóstico.
Opções
- Circunflexo – fornece informações de coluna na mensagem de diagnóstico. E gera a linha relevante do código-fonte com um sinal que indica a coluna em questão.
- Informações da coluna – além disso, fornece o número da coluna dentro da linha em que o diagnóstico é emitido, quando aplicável.
- Clássico – gera apenas as mensagens de diagnóstico anteriores e concisas com o número de linha.
Verificações de SDL
Verificações recomendadas de SDL (Ciclo de vida de desenvolvimento de segurança) adicionais; inclui habilitar recursos adicionais de geração de código seguro e habilita avisos adicionais relevantes à segurança como erros. Define /sdl
, /sdl-
.
Compilação de multiprocessador
Habilite a compilação multiprocessador. Define a opção do compilador /MP
.
Habilitar o Address Sanitizer
Compila e vincula o programa à instrumentação AddressSanitizer. Atualmente, essa propriedade dá suporte a builds de destino x86 e x64. Define a opção do compilador /fsanitize
.
Propriedades de otimização de C/C++
Optimization
Selecione a opção de otimização de código; escolha Personalizado para usar opções de otimização específicas. Define /Od
, /O1
, /O2
.
Opções
- Personalizar – otimização personalizada.
- Desabilitado – desabilitar a otimização.
- Otimização máxima (favorecer tamanho) – equivalente a
/Os /Oy /Ob2 /Gs /GF /Gy
- Otimização máxima (favorecer velocidade) – equivalente a
/Oi /Ot /Oy /Ob2 /Gs /GF /Gy
- Otimizações (favorecer velocidade) – equivalente a
/Oi /Ot /Oy /Ob2
Expansão da função embutida
Selecione o nível de expansão da função embutida para o build. Define /Ob
.
Opções
- Default
- Desabilitado – desabilita a expansão embutida, a qual está ativada por padrão.
- Somente __inline – expande apenas funções marcadas como
inline
,__forceinline
ou__inline
. Ou, em uma função membro C++, definida dentro de uma declaração de classe. - Qualquer função adequada – expande funções marcadas como
inline
ou__inline
e qualquer outra função que o compilador escolher. (A expansão ocorre a critério do compilador, geralmente chamada de autoinlining.)
Habilitar funções intrínsecas
Habilita funções intrínsecas. O uso de funções intrínsecas gera um código mais rápido, mas possivelmente maior. Define /Oi
.
Favorecer tamanho ou velocidade
Para favorecer o tamanho ou a velocidade do código, a “Otimização global” deve estar ativada. Define /Ot
, /Os
.
Opções
- Favorecer códigos pequenos – minimiza o tamanho de EXEs e DLLs ao instruir o compilador a favorecer o tamanho em vez da velocidade.
- Favorecer códigos rápidos – maximiza a velocidade de EXEs e DLLs ao instruir o compilador a favorecer a velocidade em vez do tamanho. (Esse valor é o padrão.)
- Nenhum dos dois – sem otimização de tamanho e velocidade.
Omitir ponteiros de quadros
Inibe a criação de ponteiros de quadros na pilha de chamadas.
Habilitar otimizações de fibra segura
Habilita a otimização de espaço de memória com o uso de fibras e acesso ao armazenamento local de thread. Define /GT
.
Otimização do Programa Inteiro
Habilita otimizações entre módulos ao atrasar a geração de código para o tempo de vinculação. Requer a opção do vinculador Geração de Código Durante o Tempo de Vinculação. Define /GL
.
Propriedades do pré-processador C/C++
Definições do Pré-processador
Define os símbolos de pré-processamento para o arquivo de origem.
Excluir definições do pré-processador
Especifica uma ou mais exclusões de definição do pré-processador. Define /U
.
Excluir todas as definições do pré-processador
Exclua as definições de todos os valores do pré-processador definidos anteriormente. Define /u
.
Ignorar caminhos de inclusão padrão
Evita que o compilador procure arquivos de inclusão nos diretórios especificados na variável de ambiente INCLUDE.
Pré-processar em um arquivo
Pré-processa arquivos de origem em C e C++ e grava a saída pré-processada em um arquivo. Essa opção suprime a compilação e não produz um arquivo .obj
.
Pré-processar números de linha de supressão
Pré-processar sem diretivas #line.
Manter comentários
Suprime a faixa de comentários do código-fonte; requer a configuração de pelo menos uma das opções de Pré-processamento. Define /C
.
Propriedades de geração de códigos C/C++
Habilitar o pool de cadeia de caracteres
O compilador cria apenas uma cópia somente leitura de cadeias de caracteres idênticas na imagem do programa. Isso resulta em programas menores, uma otimização chamada pool de cadeia de caracteres. /O1
, /O2
e /ZI
definem a opção /GF
automaticamente.
Habilitar reconstrução mínima
Habilita recompilação mínima, que determina se deve ser feita a recompilação dos arquivos de origem C++ que incluem definições de classe C++ alteradas, armazenadas nos arquivos de cabeçalho .h
.
Habilitar exceções do C++
Especifica o modelo de tratamento de exceções a ser utilizado pelo compilador.
Opções
- Sim com exceções SEH – o modelo de tratamento de exceções que captura exceções assíncronas (estruturadas) e síncronas (C++). Define
/EHa
. - Sim – o modelo de tratamento de exceções que captura somente exceções C++ e diz para o compilador assumir que as funções C externas nunca geram uma exceção C++. Define
/EHsc
. - Sim, com funções C externas – o modelo de tratamento de exceções que captura somente exceções C++ e diz para o compilador assumir que as funções C externas geram uma exceção. Define
/EHs
. - Não – sem tratamento de exceção.
Verificação de tipo menor
Habilite a verificação de conversão em tipos menores, incompatíveis com qualquer tipo de otimização que não seja depuração. Define /RTCc
.
Verificações básicas de runtime
Habilite verificações básicas de erro de runtime, incompatíveis com qualquer tipo de otimização que não seja depuração. Define /RTCs
, /RTCu
, /RTC1
.
Opções
- Registros de ativação – habilita a verificação de erro em tempo de execução do registro de ativação.
- Variáveis não inicializadas – relata quando uma variável é usada sem ter sido inicializada.
- Ambos (/RTC1, equivalente a /RTCsu) – equivalente a
/RTCsu
. - Padrão – verificações padrão de runtime.
Biblioteca em Runtime
Especifique a biblioteca de runtime para vinculação. Define /MT
, /MTd
, /MD
, /MDd
.
Opções
- Com multithreaded – faz com que seu aplicativo utilize a versão com multithread e estática da biblioteca de runtime.
- Debug multi-threaded - Define
_DEBUG
e_MT
. Essa opção também faz com que o compilador coloque o nomeLIBCMTD.lib
da biblioteca no arquivo para.obj
que o vinculador useLIBCMTD.lib
para resolver símbolos externos. - DLL com multithreaded – faz com que o aplicativo use as versões específica de multithread e específica de DLL da biblioteca de runtime. Define
_MT
e_DLL
e faz com que o compilador coloque o nome da biblioteca MSVCRT.lib no arquivo.obj
. - DLL de depuração com multithreaded – define
_DEBUG
,_MT
e_DLL
e faz com que o aplicativo use as versões específicas de multithread e de DLL da biblioteca de runtime. Ele também faz com que o compilador coloque o nomeMSVCRTD.lib
da biblioteca no.obj
arquivo.
Alinhamento de Membro do Struct
Especifica limites de 1, 2, 4 ou 8 bytes para o alinhamento de membro struct. Define /Zp
.
Opções
- 1 Byte - Empacota estruturas em limites de um byte. Mesmo que
/Zp
. - 2 Bytes - Empacota estruturas em limites de dois bytes.
- 4 Bytes - Empacota estruturas em limites de quatro bytes.
- 8 Bytes - Empacota estruturas em limites de oito bytes (padrão).
- 16 Bytes - Empacota estruturas em limites de dezesseis bytes.
- Padrão – configurações de alinhamento padrão.
Verificação de Segurança
A Verificação de Segurança ajuda a detectar saturações de buffer de pilha, uma tentativa de ataque comum à segurança de um programa.
Opções
- Desabilitar verificação de segurança – Desabilitar a verificação de segurança. Define
/GS-
. - Habilitar verificação de segurança – Habilitar a verificação de segurança. Define
/GS
.
Proteção de Fluxo de Controle
Proteger a verificação de segurança ajuda a detectar tentativas de expedição para o bloco ilegal de código.
Opções
- Sim – habilitar verificação de segurança com conjuntos de proteção
/guard:cf
. - Não
Habilitar vinculação no nível da função
Permite que o compilador empacote funções individuais no formato de funções empacotadas (COMDATs). Necessário para editar e continuar a trabalhar. Define /Gy
.
Habilitar a geração de código paralelo
Permite que o compilador gere um código paralelo para loops identificados usando #pragma loop(hint_parallel[(n)])
quando a otimização estiver habilitada.
Habilitar o conjunto de instruções aprimoradas
Habilite o uso de instruções encontradas em processadores que dão suporte a conjuntos de instruções aprimoradas. Por exemplo, os aprimoramentos SSE, SSE2, AVX e AVX2 para IA-32. E os aprimoramentos de AVX e AVX2 para x64. Atualmente, /arch:SSE
e /arch:SSE2
só estão disponíveis ao compilar para a arquitetura x86. Se nenhuma opção for especificada, o compilador usará instruções encontradas em processadores que suportam SSE2. O uso de instruções aprimoradas pode ser desabilitado com /arch:IA32
. Para obter mais informações, consulte /arch (x86)
, /arch (x64)
, /arch (ARM64)
e /arch (ARM)
.
Opções
- Extensões SIMD de Streaming – Extensões SIMD de Streaming. Define
/arch:SSE
- Extensões SIMD de Streaming 2 – Extensões SIMD de Streaming 2. Define
/arch:SSE2
- Extensões de vetor avançadas – extensões de vetor avançadas. Define
/arch:AVX
- Extensões de vetor avançadas 2 – extensões de vetor avançadas 2. Define
/arch:AVX2
- Sem instruções avançadas – sem instruções avançadas. Define
/arch:IA32
- Não definido – não definido.
Modelo de ponto flutuante
Define o modelo de ponto flutuante. Define /fp:precise
, /fp:strict
, /fp:fast
.
Opções
- Preciso – padrão. Melhora a consistência dos testes de ponto flutuante para igualdade e desigualdade.
- Estrito – o modelo de ponto flutuante mais estrito.
/fp:strict
faz com quefp_contract
seja desativada efenv_access
seja ativada./fp:except
fica implícita e pode ser desabilitada explicitamente ao se especificar/fp:except-
. Quando usado com/fp:except-
,/fp:strict
impõe semânticas estritas de ponto flutuante, mas sem relação a eventos excepcionais. - Rápido – cria o código mais rápido na maioria dos casos.
Habilitar exceções de ponto flutuante
Modelo de exceção de ponto flutuante confiável. As exceções serão geradas imediatamente depois de serem disparadas. Define /fp:except
.
Criar imagem disponível para aplicação de patch dinâmica
Quando a aplicação de patch dinâmica estiver ativada, o compilador garantirá que a primeira instrução de cada função seja de dois bytes, conforme necessário para a aplicação de patch dinâmica. Define /hotpatch
.
Mitigação do Spectre
Mitigações do Spectre para CVE 2017-5753. Define /Qspectre
.
Opções
- Habilitado – habilitar o recurso de mitigação do Spectre para CVE 2017-5753
- Desabilitado – não definido.
Propriedades da linguagem C/C++
Desabilitar extensões de linguagem
Suprime ou habilita extensões de linguagem. Define /Za
.
Trate WChar_t como construído no tipo
Quando especificado, o tipo wchar_t
se torna um tipo nativo que é mapeado para __wchar_t
da mesma maneira que short
mapeia para __int16
. /Zc:wchar_t
está ativado por padrão.
Forçar conformidade para escopo de loop
Implementa o comportamento padrão do C++ para os loops de instrução for
com extensões da Microsoft. Define /Za
, /Ze
(Desabilitar extensões de linguagem. /Zc:forScope
está ativado por padrão.
Remover dados e códigos não referenciados
Quando especificado, o compilador não gera mais informações de símbolo para dados e códigos não verificados.
Aplicar regras de conversão de tipo
Usado para identificar um tipo de referência rvalue como resultado de uma operação de conversão de acordo com o padrão C++11.
Habilitar informações de tipo de tempo de execução
Adiciona um código para verificar os tipos de objeto C++ no tempo de execução (informações de tipo de runtime ou RTTI). Define /GR
, /GR-
.
Abrir suporte a MP
Habilita extensões de linguagem OpenMP 2.0. Define /openmp
.
Padrão de linguagem C++
Determina o padrão de linguagem C++ que o compilador habilita. O valor padrão não define uma opção padrão, portanto, o compilador usa sua configuração padrão C++14. Se você selecionar um valor específico, a opção do compilador /std
correspondente será set.md).
Opções
- Padrão (Padrão ISO C++14)
- Padrão ISO C++14 (/std:c++14)
- Padrão ISO C++17 (/std:c++17)
- Padrão ISO C++20 (/std:c++20)
- Versão prévia – recursos do rascunho de trabalho mais recente do C++ (/std:c++latest)
Padrão de linguagem C
Determina o padrão de linguagem C que o compilador habilita. O valor padrão não define uma opção padrão, portanto, o compilador usa sua configuração MSVC herdada padrão. Se você selecionar um valor específico, a opção do compilador /std
correspondente será set.md).
Opções
- Padrão (MSVC herdado)
- Norma ISO C11 (/std:c11)
- Norma ISO C17 (2018) (/std:c17)
Modo de conformidade
Habilita ou suprime o modo de conformidade. Define /permissive-
.
Habilitar módulos de biblioteca padrão experimental do C++
Suporte experimental para o TS dos módulos C++ e módulos da biblioteca padrão.
Criar módulos de biblioteca padrão ISO C++23
A partir do Visual Studio 17.6, quando essa propriedade é habilitada e o C++ Language Standard é definido como /std:c++latest
, os projetos do Visual C++ localizam e criam automaticamente módulos da Biblioteca Padrão ISO C++23. Isso permite que você acesse import std
ou import std.compat
esteja em seu código C++.
Propriedades de cabeçalhos pré-compilados C/C++
Criar/usar cabeçalho pré-compilado
Habilita a criação ou o uso de um cabeçalho pré-compilado durante o build. Define /Yc
, /Yu
.
Opções
- Criar – instrui o compilador a criar um arquivo de cabeçalho pré-compilado (
.pch
) que representa o estado de compilação em um determinado ponto. - Usar – instrui o compilador a usar um arquivo de cabeçalho pré-compilado existente (
.pch
) na compilação atual. - Não usar cabeçalhos pré-compilados – não usar um cabeçalho pré-compilado.
Arquivo de cabeçalho pré-compilado
Especifica o nome do arquivo de cabeçalho a ser usado ao criar ou usar um arquivo de cabeçalho pré-compilado. Define /Yc
, /Yu
.
Arquivo de saída de cabeçalho pré-compilado
Especifica o caminho ou o nome do arquivo de cabeçalho pré-compilado gerado. Define /Fp
.
Propriedades de arquivos de saída C/C++
Expandir fonte atribuída
Crie um arquivo de listagem com atributos expandidos injetados no arquivo de origem. Define /Fx
.
Saída do Assembler
Especifica o conteúdo do arquivo de saída de linguagem assembly. Define /FA
, /FAc
, /FAs
, /FAcs
.
Opções
- No Listing – Sem listagem.
- Listagem somente assembly – código do assembly;
.asm
- Assembly com código de máquina – código de máquina e assembly;
.cod
- Assembly com código-fonte – código-fonte e assembly;
.asm
- Assembly, código de máquina e fonte – assembly, código de máquina e código-fonte;
.cod
Usar Unicode para listagem de assembler
Faz o arquivo de saída ser criado em formato UTF-8.
Local da lista ASM
Especifica o caminho relativo ou o nome para o arquivo de listagem ASM; pode ser o nome do arquivo ou do diretório. Define /Fa
.
Nome do arquivo-objeto
Especifica um nome para substituir o nome do arquivo-objeto padrão. Pode ser um nome de arquivo ou de diretório. Define /Fo
.
Nome do arquivo de banco de dados do programa
Especifica um nome para um arquivo PDB gerado pelo compilador; também especifica o nome base para o arquivo IDB gerado pelo compilador necessário; pode ser o nome do arquivo ou do diretório. Define /Fd
.
Gerar arquivos de documentação XML
Especifica que o compilador deve gerar arquivos de comentário de documentação XML (.XDC). Define /doc
.
Nome do arquivo de documentação XML
Especifica o nome dos arquivos de documentação XML gerados; pode ser o nome do arquivo ou do diretório. Define /doc:
<name>.
Propriedades de informações de navegação C/C++
Habilitar informações de navegação
Especifica o nível de informações de navegação no arquivo .bsc
. Define /FR
.
Arquivo de informações de navegação
Especifica o nome opcional para o arquivo de informações do navegador. Define /FR
<name>.
Inclusões externas
Tratar os arquivos incluídos com colchetes angulares como externos
Especifica se os arquivos incluídos com colchetes angulares devem ser tratados como externos. Defina essa propriedade como Sim para definir a opção do compilador /external:anglebrackets
.
Nível de aviso do cabeçalho externo
Selecione o rigor que você deseja que o compilador aplique aos erros de código em cabeçalhos externos. Essa propriedade define a opção do compilador /external:Wn
. Se esse valor for definido como Herdar o nível de aviso do projeto ou o padrão, outras opções /external
serão ignoradas.
Diagnóstico de modelo em cabeçalhos externos
Especifica se o nível de aviso deve ser avaliado na cadeia de instanciação de modelo. Defina essa propriedade como Sim para definir a opção do compilador /external:templates-
.
Desabilitar a análise de código para cabeçalhos externos
Desabilita a análise de código para cabeçalhos externos. Define a opção do compilador /analyze:external-
.
Conjunto de regras de análise para cabeçalhos externos
Especifica uma substituição do conjunto de regras de análise de código para cabeçalhos externos. Se nada estiver especificado, será usada a configuração da análise de código. Define a opção do compilador /analyze:external:ruleset path
.
Propriedades avançadas do C/C++
Convenção de chamada
Selecione a convenção de chamada padrão para seu aplicativo (pode ser substituída por função). Define /Gd
, /Gr
, /Gz
, /Gv
.
Opções
__cdecl
– especifica a convenção de chamada__cdecl
para todas as funções, exceto as funções membro C++ e aquelas marcadas como__stdcall
ou__fastcall
.__fastcall
– especifica a convenção de chamada__fastcall
para todas as funções, exceto as funções membro C++ e aquelas marcadas como__cdecl
ou__stdcall
. Todas as funções__fastcall
precisam ter protótipos.__stdcall
– especifica a convenção de chamada__stdcall
para todas as funções, exceto as funções membro C++ e aquelas marcadas como__cdecl
ou__fastcall
. Todas as funções__stdcall
precisam ter protótipos.__vectorcall
– especifica a convenção de chamada__vectorcall
para todas as funções, exceto as funções membro C++ e aquelas marcadas como__cdecl
,__fastcall
ou__stdcall
. Todas as funções__vectorcall
precisam ter protótipos.
Compilar como
Selecione a opção de idioma de compilação para arquivos de origem. Define /TC
, /TP
, /interface/internalPartition
ou /exportHeader
opções.
Opções
- Padrão – padrão.
- Compilar como código C (
/TC
) - Compilar arquivos de origem especificados como código C. Por padrão, os arquivos com uma.c
extensão são compilados como C. - Compilar como código C++ (
/TP
) - Compilar arquivos de origem especificados como código C++. Por padrão, todos os arquivos de origem que não têm uma.c
extensão , ,.ixx
,.cppm
.h
ou nenhuma extensão são compilados como C++. - Compilar como código de módulo C++ (
/interface
) - Compilar arquivos de origem especificados como código de módulo C++. Por padrão, os arquivos com uma extensão ou.cppm
são compilados como código de.ixx
módulo C++. - Compilar como partição interna do módulo C++ (
/internalPartition
) - Compilar arquivos de origem especificados como partição interna do módulo C++. - Compilar como unidade de cabeçalho C++ (
/exportHeader
) - Compilar arquivos de origem especificados como unidade de cabeçalho C++. Por padrão, arquivos com uma.h
extensão ou nenhuma extensão são compilados como unidades de cabeçalho.
Desabilitar avisos específicos
Desabilite os números de aviso especificados. Coloque os números de aviso em uma lista delimitada por ponto e vírgula. Define /wd
<number>.
Arquivo de inclusão forçada
um ou mais arquivos de inclusão forçados. Define /FI
<name>.
Arquivo #using forçado
Especifica um ou mais arquivos #using forçados. Define /FU
<name>.
Mostrar inclusões
Gera uma lista de arquivos de inclusão com a saída do compilador. Define /showIncludes
.
Usar caminhos completos
Use caminhos completos em mensagens de diagnóstico. Define /FC
.
Omitir o nome da biblioteca padrão
Não inclui nomes de biblioteca padrão em arquivos .obj
. Define /Zl
.
Relatório de erros do compilador interno
Observação
Essa opção foi preterida. Desde o Windows Vista, o relatório de erros é controlado pelas configurações WER (Relatório de Erros do Windows).
Tratar avisos específicos como erros
Trata o aviso específico do compilador como um erro, em que n é um aviso do compilador.
Opções adicionais
Opções Adicionais.