Partilhar via


Páginas de propriedades C/C++

As seguintes páginas de propriedades são encontradas em Propriedades do projeto>Propriedades>>C/C++:

Propriedades gerais do C/C++

Diretórios adicionais incluem

Especifica um ou mais diretórios a serem adicionados ao caminho de inclusão. Separe diretórios com ponto-e-vírgula (';') se houver mais de um. Define a opção de /I compilador (Diretórios adicionais de inclusão).

Diretórios Adicionais #using

Especifica um ou mais diretórios a serem pesquisados para resolver nomes passados para uma #using diretiva. Separe diretórios com ponto-e-vírgula (';') se houver mais de um. Define a opção do /AI compilador.

Diretórios de IMC adicionais

Especifica um ou mais diretórios a serem pesquisados para resolver os nomes que são passados para uma diretiva import. Separe diretórios com ponto-e-vírgula (';') se houver mais de um. Define a opção do /ifcSearchDir[path] compilador.

Dependências adicionais do módulo

Especifica um ou mais módulos a serem usados para resolver nomes passados para uma import diretiva. Separe diretórios com ponto-e-vírgula (';') se houver mais de um. Define a opção do /reference compilador.

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 import diretiva de cabeçalho. Separe diretórios com ponto-e-vírgula (';') se houver mais de um. Define a opção do /headerUnit compilador.

Analisar Fontes para Dependências de Módulo

Quando definido como Sim, o compilador verifica todas as fontes C++, não apenas a interface do módulo e as fontes da unidade de cabeçalho, em busca de dependências de unidades de módulo e cabeçalho. O sistema de compilação constrói o gráfico de dependências completas, o que garante que todos os módulos importados e unidades de cabeçalho sejam construídos antes de compilar os arquivos que dependem deles. Quando combinado com Translate Includes to Imports, qualquer ficheiro de cabeçalho especificado num ficheiro header-units.json no mesmo diretório que o ficheiro de cabeçalho é compilado numa unidade de cabeçalho.

Os arquivos que têm a extensão .ixx, e os arquivos que têm suas propriedades de ficheiro>propriedades C/C++> com a propriedade Compile As definida como Compile as C++ Header Unit (/exportHeader), são sempre analisados.

Traduza "Includes" para "Imports"

Quando definido como Sim, o compilador trata uma #include diretiva como uma import diretiva se certas condições forem atendidas: O arquivo de cabeçalho é especificado em um header-units.json arquivo no mesmo diretório e uma unidade de cabeçalho compilada (um .ifc arquivo) está disponível para o arquivo de cabeçalho. Caso contrário, o arquivo de cabeçalho é tratado como um arquivo normal #include. O header-units.json ficheiro é usado para construir unidades de cabeçalho para cada #include sem duplicação de símbolo. Quando combinado com Scan Sources for Module Dependencies, o compilador localiza automaticamente todos os arquivos de cabeçalho que podem ser compilados em unidades de cabeçalho. Esta propriedade define a opção do /translateInclude compilador.

Formato de informações de depuração

Especifica o tipo de informações de depuração geradas pelo compilador. Esta propriedade requer configurações de vinculador compatíveis. Define /Z7, /Zi, /ZI (Debug information format) opções do compilador.

Choices

  • Nenhum - Não produz informações de depuração, portanto, a compilação pode ser mais rápida.
  • Compatível com C7 - Selecione o tipo de informação de depuração criada para o seu programa e se esta informação é mantida em ficheiros de objeto (.obj) ou numa base de dados de programas (PDB).
  • Banco de Dados de Programas - Produz um banco de dados de programa (PDB) que contém informações de tipo e informações de depuração simbólica para uso com o depurador. As informações de depuração simbólica incluem os nomes e tipos de variáveis e funções e números de linha.
  • Banco de dados de programas para editar e continuar - Produz um banco de dados de programas, conforme descrito anteriormente, em um formato que suporta o recurso Editar e continuar .

Suporte apenas minha depuração de código

Adiciona código de suporte para habilitar a depuração Just My Code nesta unidade de compilação. Define /JMC.

Suporte a RunTime em Linguagem Comum

Utilize o serviço de runtime .NET. Este interruptor é incompatível com alguns outros interruptores; Consulte a documentação sobre a /clr família de interruptores para obter detalhes.

Choices

  • Sem suporte a tempo de execução de idioma comum - sem suporte a tempo de execução de idioma comum
  • Common Language RunTime Support - Cria metadados para seu aplicativo que podem ser consumidos por outros aplicativos CLR. Também permite que seu aplicativo consuma tipos e dados nos metadados de outros componentes CLR.
  • Pure MSIL Common Language RunTime Support - Produz um arquivo de saída somente MSIL sem código executável nativo, embora possa conter tipos nativos compilados para MSIL.
  • Safe MSIL Common Language RunTime Support - 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

Consuma as extensões de idiomas do Tempo de Execução do Windows. Define /ZW.

Suprimir banner de inicialização

Suprime a exibição do banner de logon quando o compilador é iniciado e a exibição de mensagens informativas durante a compilação.

Nível de alerta

Selecione o quão rigoroso você deseja que o compilador seja sobre erros de código. Estabelece /W0 - /W4.

Choices

  • Desativar todos os avisos - O nível 0 desativa todos os avisos.
  • Nível 1 - Nível 1 exibe avisos severos. Nível 1 é o nível de aviso padrão na linha de comando.
  • Nível 2 - Nível 2 exibe todos os avisos de nível 1 e avisos menos graves do que o nível 1.
  • Nível 3 - Nível 3 exibe todos os avisos de 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, além de avisos informativos, que na maioria dos casos podem ser ignorados com segurança.
  • EnableAllWarnings - Habilita todos os avisos, incluindo os desativados por padrão.

Tratar avisos como erros

Trata os avisos do compilador como erros. Para um novo projeto, pode ser melhor usar /WX em todas as compilações. Resolva todos os avisos para minimizar defeitos de código difíceis de encontrar.

Versão de aviso

Oculte avisos introduzidos após uma versão específica do compilador. Define /Wv:xx[.yy[.zzzzz]].

Formato de diagnóstico

Permite diagnósticos avançados, com informações de coluna e contexto de origem em mensagens de diagnóstico.

Choices

  • Caret - Fornece informações de coluna na mensagem de diagnóstico. E gera a linha relevante do código-fonte com um cursor que indica a coluna ofensiva.
  • Informações da coluna - Além disso, indica o número da coluna na linha em que o diagnóstico é emitido, quando aplicável.
  • Clássico - Emite apenas as mensagens de diagnóstico anteriores e concisas com o número da linha.

Verificações SDL

Verificações recomendadas do ciclo de vida de desenvolvimento de segurança adicional (SDL); Inclui a ativação de recursos adicionais de geração de código seguro e permite avisos adicionais relevantes para a segurança como erros. Conjuntos /sdl, /sdl-.

Compilação multiprocessador

Habilite a compilação com vários processadores. Define a opção do /MP compilador.

Ativar o Address Sanitizer

Compila e vincula o programa com a instrumentação AddressSanitizer. Esta propriedade atualmente suporta compilações de destino x86 e x64. Define a opção do /fsanitize compilador.

Propriedades de otimização C/C++

Optimization

Selecione a opção para otimização de código; escolha Personalizado para usar opções de otimização específicas. Conjuntos /Od, /O1, /O2.

Choices

  • Personalizado - Otimização personalizada.
  • Desativado - Desative a otimização.
  • Otimização máxima (Favorizar Tamanho) - equivalente a /Os /Oy /Ob2 /Gs /GF /Gy
  • Otimização Máxima (Velocidade Favorecida) - Equivalente a /Oi /Ot /Oy /Ob2 /Gs /GF /Gy
  • Otimizações (a Favor da Velocidade) - Equivalente a /Oi /Ot /Oy /Ob2

Expansão da função em linha

Selecione o nível de expansão da função embutida para a compilação. Define /Ob.

Choices

  • Predefinição
  • Desativado - Desabilita a expansão em linha, que está ativada por padrão.
  • Somente __inline - Expande apenas as funções marcadas como inline, __forceinlineou __inline. Ou, em uma função de membro C++, definida dentro de uma declaração de classe.
  • Qualquer Adequado - 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, muitas vezes referida como autoinlining.)

Ativar funções intrínsecas

Permite funções intrínsecas. O uso de funções intrínsecas gera um código mais rápido, mas possivelmente maior. Define /Oi.

Prefira o tamanho ou a velocidade

Se deve favorecer o tamanho do código ou a velocidade do código; A 'Otimização Global' deve estar ativada. Conjuntos /Ot, /Os.

Choices

  • Favorecer código pequeno - Minimiza o tamanho de EXEs e DLLs instruindo o compilador a favorecer o tamanho em detrimento da velocidade.
  • Favorecer código rápido - Maximiza a velocidade de EXEs e DLLs instruindo o compilador a favorecer a velocidade em relação ao tamanho. (Este valor é o padrão.)
  • Nem - Sem otimização de tamanho e velocidade.

Omitir ponteiros de quadro

Impede a criação de ponteiros de quadro na pilha de chamadas.

Ativar otimizações de Fiber-Safe

Permite a otimização do espaço de memória ao usar fibras e acesso ao armazenamento local de threads. Define /GT.

Otimização de todo o programa

Permite otimizações entre módulos ao adiar a geração do código para o tempo de ligação. Requer a opção linker Link Time Code Generation. Define /GL.

Propriedades do pré-processador C/C++

Definições do pré-processador

Define símbolos de pré-processamento para seu arquivo de origem.

Indefinir definições de pré-processador

Especifica uma ou mais desdefinições de pré-processador. Define /U.

Desdefinir todas as definições do pré-processador

Desdefina todos os valores de pré-processador definidos anteriormente. Define /u.

Ignorar caminhos de inclusão padrão

Impede que o compilador procure arquivos include em diretórios especificados nas variáveis de ambiente INCLUDE.

Pré-processamento para um arquivo

Pré-processa arquivos de origem 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 .obj arquivo.

Pré-processar para suprimir os números de linha

Pré-processar sem diretiva #line.

Manter comentários

Suprime a faixa de comentários do código-fonte; requer a definição de pelo menos uma das opções de pré-processamento . Define /C.

Propriedades de geração de código C/C++

Habilitar agrupamento de cadeias de caracteres

O compilador cria apenas uma cópia de leitura apenas de strings idênticas na imagem do programa. Isso resulta em programas menores, uma otimização chamada agregação de strings. /O1, /O2, e /ZI definem automaticamente a opção /GF.

Habilite a reconstrução mínima

Permite a reconstrução mínima, que determina se os arquivos de origem C++ que incluem definições de classe C++ alteradas devem ser recompilados, armazenados em arquivos de cabeçalho .h .

Habilitar exceções C++

Especifica o modelo de tratamento de exceções a ser usado pelo compilador.

Choices

  • 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 apenas exceções C++ e diz ao compilador para assumir que as funções C externas nunca lançam uma exceção C++. Define /EHsc.
  • Sim com funções Extern C - O modelo de tratamento de exceções que captura apenas exceções C++ e instrui o compilador a assumir que as funções extern C lançam uma exceção. Define /EHs.
  • Não - Sem tratamento de exceção.

Verificação de tipo menor

Habilite a verificação de conversão para tipos menores, incompatíveis com qualquer tipo de otimização que não seja depuração. Define /RTCc.

Verificações básicas de tempo de execução

Ative verificações básicas de erros em tempo de execução, que são incompatíveis com qualquer tipo de otimização além de depuração. Conjuntos /RTCs, /RTCu, /RTC1.

Choices

  • Stack Frames - Permite a verificação de erros em tempo de execução do stack frame.
  • Variáveis não inicializadas - Relata quando uma variável é usada sem ter sido inicializada.
  • Ambos (/RTC1, equiv. a /RTCsu) - Equivalente a /RTCsu.
  • Padrão - Verificações de tempo de execução padrão.

Biblioteca de tempo de execução

Especifique a biblioteca de tempo de execução para ligação. Conjuntos /MT, /MTd, /MD, /MDd.

Choices

  • Multi-threaded - Faz com que seu aplicativo use a versão estática multithread da biblioteca de tempo de execução.
  • Depuração Multi-threaded - Definem _DEBUG e _MT. Essa opção também faz com que o compilador coloque o nome LIBCMTD.lib da .obj biblioteca no arquivo para que o vinculador use LIBCMTD.lib para resolver símbolos externos.
  • DLL multithreaded - Faz com que o seu aplicativo use a versão específica multithreaded e da DLL da biblioteca de execução. Define _MT e _DLL faz com que o compilador coloque o nome da biblioteca MSVCRT.lib no .obj arquivo.
  • DLL de depuração multi-thread - Definem _DEBUG, _MT e _DLL e faz com que o seu aplicativo use a versão específica de depuração multi-thread e DLL da biblioteca de tempo de execução. Isso também faz com que o compilador coloque o nome MSVCRTD.lib da biblioteca no .obj arquivo.

Alinhamento de membros da Struct

Especifica limites de 1, 2, 4 ou 8 bytes para o alinhamento dos membros da struct. Define /Zp.

Choices

  • 1 Byte - Empacota estruturas em limites de um byte. O 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 - Embala estruturas em limites de 16 bytes.
  • Padrão - Configurações de alinhamento padrão.

Verificação de segurança

A verificação de segurança ajuda a detetar saturações de buffer de pilha, uma tentativa comum de ataque à segurança de um programa.

Choices

  • Desativar Verificação de Segurança - Desative a Verificação de Segurança. Define /GS-.
  • Ativar Verificação de Segurança - Ativar Verificação de Segurança. Define /GS.

Protetor de fluxo de controle

A verificação de segurança do Guard ajuda a detetar tentativas de envio para blocos ilegais de código.

Choices

  • Sim - Ative a verificação de segurança com conjuntos de proteção /guard:cf.
  • No

Ativar ligação ao nível da função

Permite que o compilador empacote funções individuais na forma de funções empacotadas (COMDATs). Necessário para editar e continuar a trabalhar. Define /Gy.

Habilitar a geração paralela de código

Permite que o compilador gere código paralelo para loops identificados usando #pragma loop(hint_parallel[(n)]) quando a otimização está ativada.

Ativar conjunto de instruções avançado

Habilite o uso de instruções encontradas em processadores que suportam conjuntos de instruções avançados. Por exemplo, os aprimoramentos SSE, SSE2, AVX e AVX2 para IA-32. E as melhorias AVX e AVX2 para x64. Atualmente /arch:SSE e /arch:SSE2 só estão disponíveis quando se constrói 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 desativado com /arch:IA32. Para obter mais informações, consulte /arch (x86), /arch (x64), /arch (ARM64)e /arch (ARM).

Choices

  • Streaming SIMD Extensions - Streaming SIMD Extensions. Conjuntos /arch:SSE
  • Streaming SIMD Extensions 2 - Streaming SIMD Extensions 2. Conjuntos /arch:SSE2
  • Advanced Vetor Extensions - Extensões vetoriais avançadas. Conjuntos /arch:AVX
  • Advanced Vetor Extensions 2 - Extensões vetoriais avançadas 2. Conjuntos /arch:AVX2
  • Sem instruções melhoradas - Sem instruções melhoradas. Conjuntos /arch:IA32
  • Não definido - não definido.

Modelo de Ponto Flutuante

Define o modelo de ponto flutuante. Conjuntos /fp:precise, /fp:strict, /fp:fast.

Choices

  • Preciso - Padrão. Melhora a consistência dos testes de ponto flutuante para igualdade e desigualdade.
  • Estrito - O modelo de ponto flutuante mais rigoroso. /fp:strict faz com que fp_contract esteja OFF e fenv_access ON. /fp:except está implícito e pode ser desativado especificando /fp:except-explicitamente . Quando usado com /fp:except- o /fp:strict, impõe semânticas rigorosas de ponto flutuante, mas sem considerar eventos excecionais.
  • Rápido - Cria o código mais rápido na maioria dos casos.

Ativar exceções de ponto flutuante

Modelo de exceção de ponto flutuante confiável. As exceções serão levantadas imediatamente após serem acionadas. Define /fp:except.

Criar imagem Hotpatchable

Quando o hotpatching está ativado, o compilador garante que a primeira instrução de cada função seja de dois bytes, conforme necessário para o hot patching. Define /hotpatch.

Mitigação do espectro

Mitigações do Spectre para CVE 2017-5753. Define /Qspectre.

Choices

  • Ativado - Habilite o recurso de mitigação do Spectre para CVE 2017-5753
  • Desativado - Não definido.

Propriedades da linguagem C/C++

Desativar extensões de idioma

Suprime ou habilita extensões de idioma. Define /Za.

Trate WChar_t como tipo nativo

Quando especificado, o tipo wchar_t se torna um tipo nativo que mapeia para __wchar_t da mesma maneira que short mapeia para __int16. /Zc:wchar_t está ativado por padrão.

Conformidade de força no escopo For Loop

Implementa o comportamento C++ padrão para os for loops de instrução com extensões da Microsoft. Define /Za, /Ze (Desativar extensões de idioma. /Zc:forScope está ativado por padrão.

Remover código e dados não referenciados

Quando especificado, o compilador não gera mais informações de símbolo para código e dados não referenciados.

Aplicar regras de conversão de tipo

Usado para identificar um tipo de referência de rvalue como resultado de uma operação de fundição de acordo com o padrão C++11.

Ativar informações de tipo Run-Time

Adiciona código para verificar tipos de objeto C++ em tempo de execução (informações de tipo de tempo de execução ou RTTI). Conjuntos /GR, /GR-.

Suporte OpenMP

Habilita extensões de linguagem OpenMP 2.0. Define /openmp.

Padrão da 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, então o compilador usa sua configuração padrão C++14. Se selecionar um valor específico, a opção correspondente do compilador /std será configurada.

Choices

  • Predefinido (ISO C++14 Standard)
  • Norma ISO C++14 (/std:c++14)
  • Norma ISO C++17 (/std:c++17)
  • Norma ISO C++20 (/std:c++20)
  • Prévia - Funcionalidades do mais recente rascunho de trabalho para 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, então o compilador usa sua configuração MSVC herdada padrão. Se selecionar um valor específico, a opção correspondente /std do compilador será definida.

Choices

  • 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 experimentais de biblioteca padrão C++

Suporte experimental para os módulos C++ TS e Standard Library.

Crie módulos de biblioteca padrão ISO C++23

A partir do Visual Studio 17.6, quando essa propriedade está habilitada e o C++ Language Standard está definido como /std:c++latest, os projetos do Microsoft C++ localizam e criam automaticamente módulos da biblioteca padrão ISO C++23. Isso permite que você faça import std ou import std.compat em seu código C++.

Propriedades de cabeçalhos pré-compilados C/C++

Criar/usar cabeçalho pré-compilado

Permite a criação ou o uso de um cabeçalho pré-compilado durante a compilação. Conjuntos /Yc, /Yu.

Choices

  • Create - Instrui o compilador a criar um arquivo de cabeçalho (.pch) pré-compilado que representa o estado de compilação em um determinado ponto.
  • Use - Instrui o compilador a usar um arquivo de cabeçalho (.pch) pré-compilado existente na compilação atual.
  • Não usar cabeçalhos pré-compilados - Não usar cabeçalhos pré-compilados.

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. Conjuntos /Yc, /Yu.

Arquivo de saída de cabeçalho pré-compilado

Especifica o caminho ou 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 Montador

Especifica o conteúdo do arquivo de saída da linguagem assembly. Conjuntos /FA, /FAc, /FAs, /FAcs.

Choices

  • Sem anúncio - Sem anúncio.
  • Listagem Exclusiva de Assembly - Código de Assembly; .asm
  • Montagem com código de máquina - Código de máquina e montagem; .cod
  • Assembly With Source Code - Código fonte e assembly; .asm
  • Montagem, Código de Máquina e Fonte - Montagem, código de máquina e código-fonte; .cod

Usar Unicode para listagem do Assembler

Faz com que o arquivo de saída seja criado no formato UTF-8.

Localização da lista ASM

Especifica o caminho relativo ou o nome para o arquivo de listagem ASM; pode ser o nome do arquivo ou diretório. Define /Fa.

Nome do arquivo do objeto

Especifica um nome para substituir o nome do arquivo de objeto padrão; pode ser o nome do arquivo ou diretório. Define /Fo.

Nome do arquivo do 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 diretório. Define /Fd.

Gerar arquivos de documentação XML

Especifica que o compilador deve gerar arquivos de comentário da 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 diretório. Define /doc:<o nome>.

C/C++ Propriedades de Exploração de Informações

Ativar informações de navegação

Especifica o nível de informações de navegação no .bsc arquivo. Define /FR.

Procurar Ficheiro de Informação

Especifica o nome opcional para o arquivo de informações do navegador. Define /FR<o nome>.

Inclui Externo

Tratar arquivos incluídos com colchetes angulares como externos

Especifica se os arquivos incluídos com colchetes angulares devem ser tratados como externos. Defina esta propriedade como Sim para definir a opção do /external:anglebrackets compilador.

Nível de aviso de cabeçalho externo

Selecione o quão rigoroso você deseja que o compilador seja sobre erros de código em cabeçalhos externos. Esta propriedade define a opção do /external:Wn compilador. Se esse valor for definido como Herdar Nível de Aviso do Projeto ou o padrão, outras /external opções serão ignoradas.

Diagnóstico de modelo em cabeçalhos externos

Especifica se o nível de aviso deve ser avaliado ao longo de uma sequência de instanciação de modelo. Defina esta propriedade como Sim para definir a opção do /external:templates- compilador.

Desativar 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 /analyze:external- compilador.

Conjunto de regras de análise para cabeçalhos externos

Especifica uma substituição de conjunto de regras de análise de código para cabeçalhos externos. Se não for especificado, a configuração Análise de código será usada. Define a opção do /analyze:external:ruleset path compilador.

Propriedades avançadas C/C++

Convenção de Chamada

Selecione a convenção de chamada padrão para seu aplicativo (pode ser substituída por função). Conjuntos /Gd, /Gr, /Gz, /Gv.

Choices

  • __cdecl - Especifica a __cdecl convenção de chamada para todas as funções, exceto funções de membro C++ e funções marcadas __stdcall ou __fastcall.
  • __fastcall - Especifica a __fastcall convenção de chamada para todas as funções, exceto funções de membro C++ e funções marcadas __cdecl ou __stdcall. Todas as __fastcall funções devem ter protótipos.
  • __stdcall - Especifica a __stdcall convenção de chamada para todas as funções, exceto funções de membro C++ e funções marcadas __cdecl ou __fastcall. Todas as __stdcall funções devem ter protótipos.
  • __vectorcall- Especifica a __vectorcall convenção de chamadas para todas as funções, exceto funções de membro C++ e funções marcadas __cdecl, __fastcall ou __stdcall. Todas as __vectorcall funções devem ter protótipos.

Compilar como

Selecione a opção de idioma de compilação para arquivos de origem. Define /TC, /TP, /interface, /internalPartitionou /exportHeader opções.

Choices

  • 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 extensão .ixx ou .cppm são compilados como código de módulo C++.
  • Compile as C++ Module Internal Partition (/internalPartition) - Compile os ficheiros fonte especificados como partição interna do módulo C++.
  • Compilar como Unidade de Cabeçalho C++ (/exportHeader) - Compilar ficheiros de origem especificados como unidade de cabeçalho C++. Por padrão, os arquivos com uma .h extensão ou nenhuma extensão são compilados como unidades de cabeçalho.

Desativar avisos específicos

Desative os números de aviso especificados. Coloque os números de aviso em uma lista delimitada por ponto-e-vírgula. Define /wd<número>.

Arquivo de inclusão forçada

um ou mais arquivos de inclusão forçados. Define /FI<o nome>.

Arquivo de #using forçado

Especifica um ou mais arquivos de #using forçada. Define /FU<o nome>.

Mostrar Inclusões

Gera uma lista de arquivos de inclusão com saída do compilador. Define /showIncludes.

Usar caminhos completos

Use caminhos completos em mensagens de diagnóstico. Define /FC.

Omitir nome de biblioteca padrão

Não inclui nomes de bibliotecas padrão em arquivos .obj. Define /Zl.

Relatório de erros do compilador interno

Observação

Esta opção foi preterida. A partir do Windows Vista, o relatório de erros é controlado pelas configurações do Relatório de Erros do Windows (WER).

Tratar avisos específicos como erros

Trata o aviso específico do compilador como um erro onde n é um aviso do compilador.

Opções Adicionais

Opções adicionais.