Propriedades do C/C++ (Linux C++)
O suporte ao Linux está disponível no Visual Studio 2017 e posterior.
Geral
Propriedade | Descrição | Opções |
---|---|---|
Diretórios de Inclusão Adicionais | Especifica um ou mais diretórios a serem adicionados ao caminho de inclusão. Use ponto-e-vírgula para separar vários diretórios. (-I[path]). | |
Formato de informações de depuração | Especifica o tipo de informações de depuração geradas pelo compilador. | Nenhum – não produz nenhuma informação de depuração, portanto, a compilação pode ser mais rápida. Mínimo de informações de depuração – gerar o mínimo de informações de depuração. Informações de depuração completas (DWARF2) – gerar informações de depuração DWARF2. |
Nome do arquivo-objeto | Especifica um nome para substituir o nome padrão do arquivo-objeto. Ele pode ser um nome de arquivo ou diretório. (-o [name]). | |
Nível de aviso | Seleciona o rigor que você deseja que o compilador aplique aos erros de código. Adicione outros sinalizadores diretamente a Opções Adicionais. (/w, /Weverything). | Desligar todos os avisos – desabilita todos os avisos do compilador. EnableAllWarnings – habilita todos os avisos, incluindo os que estão desabilitados por padrão. |
Tratar avisos como erros | Trata todos os avisos do compilador como erros. Para um novo projeto, talvez seja melhor usar /Werror em todas as compilações. Resolva todos os avisos para garantir o menor número possível de defeitos de código de difícil localização. | |
Avisos adicionais do C | Define um conjunto adicional de mensagens de aviso. | |
Avisos adicionais do C++ | Define um conjunto adicional de mensagens de aviso. | |
Habilitar modo detalhado | Quando o modo detalhado está habilitado, imprime mais informações para diagnosticar o build. | |
Compilador C | Especifica o programa a ser invocado durante a compilação de arquivos de origem C ou o caminho para o compilador C no sistema remoto. | |
Compilador C++ | Especifica o programa a ser invocado durante a compilação de arquivos de origem C++ ou o caminho para o compilador C++ no sistema remoto. | |
Tempo limite de compilação | Tempo limite de compilação remota, em milissegundos. | |
Copiar arquivos-objetos | Especifica se é necessário copiar os arquivos-objetos compilados do sistema remoto para o computador local. | |
Número Máximo de Trabalhos de Compilação Paralelos | O número de processos a serem criados em paralelo durante a compilação. O padrão é 1. Se você estiver usando Subsistema do Windows para Linux (WSL) versão 1, o limite será 64. | |
Validar Arquitetura | Especifique se a plataforma direcionada ao projeto corresponde ao sistema remoto. | |
Habilitar o Address Sanitizer | Compile o programa com o Address Sanitizer, que é um detector de erros de memória rápida que pode encontrar problemas de memória de runtime, como o uso após a liberação, e executar verificações fora dos limites. |
Otimização
Propriedade | Descrição | Opções |
---|---|---|
Otimização | Especifica o nível de otimização para o aplicativo. | Personalizar – otimização personalizada. Desabilitado – desabilitar a otimização. Minimizar tamanho – otimizar o tamanho. Maximizar velocidade – otimizar a velocidade. Otimização total – otimizações de alto custo. |
Alias estrito | Considera as regras de nome alternativo mais rígidas. Um objeto de um tipo nunca é considerado como tendo o mesmo endereço que um objeto de um tipo diferente. | |
Desenrolar loops | Desenrola loops para deixar o aplicativo mais rápido reduzindo o número de branches executados, em detrimento do aumento do tamanho do código. | |
Otimização de tempo de vinculação | Habilita as otimizações entre procedimentos permitindo que o otimizador examine os arquivos-objeto no aplicativo. | |
Omitir ponteiro de quadro | Inibe a criação de ponteiros de quadros na pilha de chamadas. | |
Não há blocos comuns | Aloca até mesmo variáveis globais não inicializadas na seção de dados do arquivo-objeto, em vez de gerá-las como blocos comuns. |
Pré-processador
Propriedade | Descrição |
---|---|
Definições do Pré-processador | Define os símbolos de pré-processamento para o arquivo de origem. (-D) |
Excluir definições do pré-processador | Especifica uma ou mais exclusões de definição do pré-processador. (-U [macro]) |
Excluir todas as definições do pré-processador | Exclui as definições de todos os valores do pré-processador definidos anteriormente. (-undef) |
Mostrar inclusões | Gera uma lista de arquivos de inclusão com a saída do compilador. (-H) |
Geração de código
Propriedade | Descrição | Opções |
---|---|---|
Código independente da posição | Gera um PIC (código independente de posição) para ser usado em uma biblioteca compartilhada. | |
Estáticos são thread-safe | Emite um código extra para usar as rotinas especificadas no ABI do C++ para inicialização thread-safe de estáticos locais. | Não – desabilite os estáticos thread-safe. Sim – habilite os estáticos thread-safe. |
Otimização de ponto flutuante | Habilita as otimizações de ponto flutuante atenuando a conformidade com o IEEE-754. | |
Métodos embutidos ocultados | Quando essa opção está habilitada, as cópias fora de linha de métodos embutidos são declaradas como private extern . |
|
Símbolos ocultos por padrão | Todos os símbolos são declarados como private extern , a menos que explicitamente marcado para exportação usando a macro __attribute . |
|
Habilitar exceções do C++ | Especifica o modelo de tratamento de exceção usado pelo compilador. | Não – desabilitar o tratamento de exceções. Sim – habilitar tratamento de exceções. |
Idioma
Propriedade | Descrição | Opções |
---|---|---|
Habilitar informações de tipo de tempo de execução | Adiciona um código para verificar os tipos de objeto C++ no runtime (informações de tipo de runtime). (frtti, fno-rtti) | |
Padrão de linguagem C | Determina o padrão de linguagem C. | Default C89 – padrão de linguagem C89. C99 – padrão de linguagem C99. C11 – padrão de linguagem C11. C99 (dialeto GNU) – padrão de linguagem C99 (dialeto GNU). C11 (dialeto GNU) – padrão de linguagem C11 (dialeto GNU). |
Padrão de linguagem C++ | Determina o padrão de linguagem C++. | Default C++03 – padrão de linguagem C++03. C++11 – padrão de linguagem C++11. C++14 – padrão de linguagem C++14. C++03 (dialeto GNU) – padrão de linguagem C++03 (dialeto GNU). C++11 (dialeto GNU) – padrão de linguagem C++11 (dialeto GNU). C++14 (dialeto GNU) – padrão de linguagem C++14 (dialeto GNU). |
Avançado
Propriedade | Descrição | Opções |
---|---|---|
Compilar como | Seleciona a opção de linguagem de compilação para arquivos .c e .cpp. (-x c, -x c++) | Padrão – detecção com base na extensão .c ou .cpp. Compilar como Código C – compilação como código C. Compilar como Código C++ – compilação como código C++. |
Arquivos de inclusão forçados | Especifica um ou mais arquivos de inclusão forçada (-include [name]) |