Share via


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 .ixxe 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, __forceinlineou __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 nome LIBCMTD.lib da biblioteca no arquivo para .obj que o vinculador use LIBCMTD.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 nome MSVCRTD.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 que fp_contract seja desativada e fenv_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 .cextensão , , .ixx, .cppm.hou 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.